(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "TRS-80 Manual: NewDOS-80 v2.0 Model I Zaps (19xx)(Apparat Inc)"

K - 



13. HEVDOS/80, Veraion 2, Model I ZAPS 08/04/81. 

CAREFULLY STUDY chapter 11 of NEVDOS/80 documentation for instructions on hov 
to apply zap6. 

Some modules have multiple versions with the zaps different in each version. 
U6e the verify to determine which version you have and apply the appropriate 
zap(s). If you have a version different from any listed (i.e., the verify(s) 
do not match, contact the program's distributor or Apparat. Apparal is trying 
to get the program creator/maintainer/distributor to create and distribute the 
necessary zaps to run with NEVDOS/80, Version 2, but where this does not occur 
and for widely used programs, Apparat will generate any necessary zaps. If 
Apparat decides to generate the zaps and does not have your particular version, 
you will be asked to send the version you have on diskette (as a gift to 
Apparat, see chapter 11) to Apparat so that Apparat may determine the appro- 
priate zaps; Apparat will not seek out your version from another source, and 
will not create a zap from a paper listing. 



******** ZAP 001 ******** 08/04/81 ******** V2M1 ******** 

Mandatory zaps to Microsoft's EDIT/CMD to enable it to run with NEVDOS/80. You 
must maintain separate copies of this module for each of TRSDOS and NEVDOS as 
the module for one system is incompatible with the that for other though the 
files they manipulat- are compatible. These changes are due to the FCB's NEXT 
and EOF fields being defined in NEVDOS differently than in TRSDOS. 

EDIT/CMD.3 8.E8 change 

7E E6 7F 7E 21 FE FF CA 58 78 EE 80 87 DA 5D 78 to 

7E 60 69 D6 01 30 01 2B 29 07 30 01 23 18 04 78 

EDIT/DID, 32, A2 change 

78 E6 7F C2 28 72 78 EE to 78 D6 01 30 08 18 04 EE 



******** zap 002 ******** 08/04/81 ******** V2M1 ******** 

Mandatory zap for PENCIL/CMD to disable the alteration of a DOS location by 
PENCIL. This alteration of DOS by PENCIL is not needed in either NEVDOS/80 or 
NEVDOS/ 21. 

PENCIL/CMD,00,AE change F3 32 9B 46 C3 to F3 00 00 00 C3 

Apparat has been advised that the following two zaps to PENCIL/CMD will (1) 
allow PENCIL/CMD to read the directory properly and (2) enable the use of 
MINI-DOS under PENCIL/CMD. 

PENCIL/CMD, 05, 60 change 58 23 22 to 58 00 22 

PENCIL/ CMD, 00, 61 change 54 22 16 40 21 to 54 00 00 00 21 

This latter zap prevents PENCIL/CMD from using its own keyboard routine, 

13-1 ZAPS (PATCHES) 



thereby defaulting back to NEVDOS/80* a wherein 'DFC 1 invoking MINI-DOS can be ( 
spotted. 



******** 2AP 003 ******** 08/04/81 ******** V2M1 ******** 

Mandatory zap to Radio Shack's programs SCRIPSIT/UC and SCRIPSIT/LC to run 
under NEVDOS/80 (and NEVDOS/21). The user should maintain separate copies for 
NEVDOS and for-TRSDOS as the programs for each system are incompatible with the 
other system even though the files they manipulate are compatible. The first 3 
changes are necessary because of the different way the FCB's NEXT and EOF 
fields are maintained. If you are running NEVDOS and files appear to load 
short one sector, check to make sure these zaps are in. The 4th zap causes 
DOS 1 HIMEM address value in 4049H - 404AH to be used as SCRIPSIT's high memory. 

The 5th zap re-enables the interrupts so MINI-DOS can be invoked from 
SCRIPSIT. *,eirr/c*t> 

SCRIPSIT/UC, 11, 75 and SCRIPSIT/LC, 11 ,75 

change 47 00 CD 6E 7A 4F to 47 00 3A B9 7C 4F 

SCRIPSIT/UC, 11, FB and SCRIPSIT/LC, 11 ,FB 
change B7 C4 EF 5D 79 to B7 32 B6 7C C4 

SCRIPSIT/UC, 12, 00 and SCRIPSIT/LC, 12, 00 
change 32 B9 7C 11 to EF 5D 00 11 

I 
SCRIPSIT/UC, 00, 63 and SCRIPSIT/LC, 00, 63 change 
7C 21 FF 00 25 7E 2F 77 AE 20 F9 22 to 
7C 2A 49 40 00 00 00 00 00 00 00 22 , ,_t 

change 57 F3 ED to 57 00 ED * " ' , , /_ ^ 

Z. /t*^ f <rt'/>r *A-c Talced <*/> e 

******** 2AP 004 ******** 08/04/81 ******** V2M1 ******** 

Optional zap to increase drive power on delay to the full one second used in 

older DOSs. NEVDOS/80 waits only 1/2 second for the the drives to attain 

rotational speed during power on select. If you feel the drives would perform 
better with the longer delay, apply this zap. 

SYS0/SYS,04,C3 change 06 80 CB to 06 FF CB 



******** zap 005 ******** 08/04/81 ** **** ** V2M1 ******** 

Mandatory zap for APL80/CMD to enable it to run with NEVDOS/80. APL80/CMD 

references a routine internal to DOS that is in a different location in 
NEVDOS/80 than it was for TRSDOS and' NEVDOS/ 21 . 

APL80/CMD,12,74 . change 21 A2 4B to 21 B4 4B 

APL80/CMD,14,52 change 21 A2 4B to. 21 B4 4B 

ZAPS (PATCHES) 13-2 



******** ZAP 006 ******** 08/ 04/ 81 ******** V2M1 ******** 



on 



^ — * Optional zap to EDTASM/CMD to disable the lower case to upper case conversi 
^_ done by EDTASM's keyboard input routine. Most functions within EDTASM will 

still require upper case, but comments and operands enclosed in single quotes 
(for DEFM and DEFB) will accept lower case. 

EDTASM/CMD,28,E1 change FE 61 D8 to FE 80 D8 U 



******** 2AP 007 ******** 08/04/81 ******** V2M1 ******** 
This is information rather than an actual zap. 

1. Where possible, the NEWDOS/80 modules have reserved zap areas. Apparat 
purposely did not mention them in its documentation as it did not want to draw 
attention to them. Users are hereby warned that Apparat will preempt these 
areas without preliminary notice and in its zap verifies will expect these 
areas to contain zeroes. Users who apply non-Apparat zaps into these areas 
should carefully maintain logs of what they have done to compare against future 
NEWDOS/80 zaps -for area conflicts. 

2. The DOS command ATTRIB (see section 2.3) has an additional optional param- 
eter, LRL*xxx, not specified in that section. LRL«xxx specifies the new log- 
ical record length of records in the file where xxx is an integer between 1 and 
256. The record length is used now only by DIR, but if user processing assumes 
a file has a given record length, some users may want the DIR display to 
reflect it. 

3. MINI-DOS (see section 4.2) is illegal under DOS-CALL (see section 4.4). If 
the DFG keys are depressed while DOS is under DOS-CALL, the triple key 
depression will be ignored. 

4. DOS command ROUTE (see section 2.43) has been altered such existing routes 
are displayed only if the ROUTE command has no parameters. 

5. DOS command COPY (see section 2.14), format 6 (CBF) has a new optional 
parameter DFO (Destination Files Only). If DF0 is specified, then file 
contents are copied if and only if the file previously existed on both the 
destination and source diskettes. DFO is mutually exclusive with FMT. 

6. DOS command FORMAT (see section 2.22) has a new optional parameter RWF (RaW 
Format). If RWF is specified, all errors are ignored and each track is format- 
ted once, whether or not the format actually takes. RWF is used when the user 
wishes to obliterate the information on a damaged diskette and doesn't have a 
magnet. RWF is mutually exclusive with KDN, KDD, DDSL, DDGA and PFST. 



******** 2AP 008 ********* 08/04/81 ********* V2M1 ******** 

Mandatory zap to PROFILE'S module INIT to correct for a different error code 
returned by NEWDOS/80 and to allow for N2 error state to take precedence over C 
or NC state on return from 4420H call. With this change, the zapped module 

13-3 ZAPS (PATCHES) 



will still run under TRSDOS. This zap is for 3 different versions of the same 
module. 



INIT.00,54 change 

44 38 09 28 OF FE 1A 28 13 C3 3F 52 CD to 

44 20 19 00 00 00 00 00 00 00 30 08 CD 

If the above doesn't verify, then try one or the other locations below. 

INIT,00,63 or INIT.00,64 change 

44 38 11 28 07 FE 1A 28 13 C3 47 52 CD to 

44 20 19 00 00 00 00 00 00 00 38 08 CD 



For those interested and for some PROFILE modules, the following optional zap 
will reenable the interrupts so '123* and ' DFG' can be used under PROFILE and 
NEVDOS/80. 

PROFILE/ 010,11,45 change F3 CD to 00 CD 



******** ZAP 009 ******** 08/04/81 ********* V2M1 ******** 

Mandatory zap to Racet's Infinite Basic IBLOAD/CMD module to enable it to run 
under NEVDOS/80 as well as TRSDOS. 

IBL0AD/CMD/CMD,08,15 change 

15 21 B6 79 11 F4 79 CD 36 44 28 to 15 11 F4 79 CD 13 00 32 B6 79 28 



******** zap 010 ******** 08/04/81 ********* V2M1 ******** 

Mandatory zap to Racet's DSM module DSMB/CMD to adjust for NEVDOS/80* s require- 
ment that a filespec's type have a maximum of 3 chars and that a filespec end 
with a terminator. This corrects only for the filespec DSMC/CMDPATCHPATCHPATCH 
such that if a user patches in a different filespec, he/she will have to apply 
the 03 byte at the end of that filespec. 

DSMB/CMD, 03, C2 change 44 50 41 to 44 03 41 



******** 2AP 011 ******* * 08/04/81 ******** V2M1 ******** 

Mandatory zap to allow VISICALC to operate with NEVDOS/80. The resulting zap- 
ped module will not run with TRSDOS or NEVDOS21; so maintain 2 different 
versions. This zap deals with the different handling by NEVDOS/80 of the user 
25ms interrupt routines (see sections 3.8 and 3.9). 

VC/CMD,03,2B change 

09 3E 00 21 20 03 22 51 9F C9 79 to 09 18 BB 00 00 08 08 C3 EF 9B 79 

VC/CMD,75,15 change 11 28 9C 22 to 11 IE 55 22 

ZAPS (PATCHES) 13-4 



X 



JAoDBL 



VC/CMD,7 5,24 change 

C9 3E 03 C3 13 44 CD 4E 53 F5 CD 16 9C 28 0E 3E to 

C9 11 IE 55 C3 13 44 CD 4E 53 CD 16 9C C8 00 3E 

Mandatory zap to VISICALC to adjust for NEWDOS/80's difference from TRSDOS on a 
returned error code causing VISICALC' s directory search to hang if any of the 4 
drives are not present or have no diskette mounted. This zap is not 
incompatible with TRSDOS. 

VC/CMD,73,01 change C9 FE 18 20 to C9 37 C9 20 



******** ZAP 012 ******** 08/04/81 ******** V2M1 ******** 

Optional zap to increase or decrease the sensitivity of double density diskette 
formatting. One of three byte patterns can be chosen, depending on the relia- 
bility of your interface, drive and diskettes. The more sensitive the byte 
pattern, the greater the probability a marginal diskette will fail format and 
the lesser the probability that having formatted successfully, the diskette 
will fail later (under normal careful handling). The less sensitive the byte 
pattern, the lesser the probability a marginal diskette will fail format and 
the greater the probability that having formatted successfully, the diskette 
will fail later. The byte patterns are: 

1. E5 E5 = least sensitive during formatting. This was and is the 
single density standard pattern. 

2. 5B 5B = intermediate sensitivity during formatting. This is the 
TRSDOS Model III pattern. 

3. 6D B6 = most sensitive during formatting. This pattern strains the 
disk formatting and if the interface, drives and diskettes are not in 
first class condition, 30% or more of the diskettes will fail formatting. 

Depending upon the frequency of format failures to diskette failures at other 
times, the user chooses which of the three 2 byte patterns to use and inserts 
them in the following locations, first checking that one of the three patterns 
is already at those locations. Each location receives both bytes, and as a 
check on each location, the preceding byte is F5. 

SYS6/SYS,31,D9 

SYS6/SYS,31,F3 



******** 2AP 013 ******** 08/03/81 ******** V2M1 ******** 

Optional zap to allow the COPY function to use Model III diskettes in the 
TRSDOS 1.2 or earlier directory format instead of the TRSDOS 1.3 format the 
COPY command is prepared to handle. The zap must be backed off when the user 
wants to re-enable COPY to handle TRSDOS 1.3 format Model III diskettes. 



13-5 ZAPS (PATCHES) 



SYS6/SYS,14,75 change 01 00 7B to 01 01 7B 

SYS6/SYS,14,C8 change 01 00 40 4E 01 13 00 to 01 13 40 4E 01 00 00 

SYS6/SYS,20,EA change 61 C8 5E to 61 C9 5E 

******** zap 014 ******** 08/08/81 ******** V2M1 ******** 

Mandatory zap to correct an error in BASIC that was causing SYNTAX error to 
occur when the short editing codes A, D, E and L were being used. This error 
was introduced into BASIC just before Version 2 release in the correction of 
another but more trivial error. 

SYS18/SYS,02,31 change 

2C D7 28 06 FE 3D 20 F9 18 23 El to 2C CD CF 65 28 27 FE 0D 20 F7 El 

BASIC/CMD,14,D8 change 00 00 00 00 00 to 23 7E FE 3D C9 

******** zap 015 ******** 08/18/81 ******** V2M1 ******** 

Mandatory zap to correct error in format 5 COPY where the BOOT sector was not 
receiving the correct directory starting lump number if this differed from the 
PDRIVE specification. The error would manifest itself by directory read error 
in DIR. 

SYS6/SYS,05,96 change 64 01 00 01 18 to 64 CD 80 5C 18 

SYS6/SYS,15,46 change 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 to 

01 00 01 B7 CO 13 13 1A 32 BC 64 IB IB C9 



******** ZAP 016 ******** 08/18/81 ******** V2M1 ******** 

Correct error in PDRIVE causing SYSTEM PROGRAM NOT FOUND error when the second 
drive number is specified wrongly as greater than 9* 

SYS16/SYS,00,6A change C3 1A 52 CB to C3 4B 50 CB 



******** ZAP 017 ******** 08/18/81 ******** V2M1 ******** 

Mandatory zap to correct error in COPY and FORMAT where DDSL parameter was 
being erroneously rejected. 

SYS6/SYS,01,FA change CB 70 20 to CB 52 20 



ZAPS (PATCHES) 13-6 



******** ZAP 018 ******** 08/25/81 ******** V2M1 ******** 

Mandatory zap to SUPERZAP to correct an error where the DM,P functions was not 
sending the correct memory contents to the printer. 

SUPERZAP/CMD,00,04 change 

00 00 00 00 00 00 00 00 00 00 00 00 00 to 

3A 91 54 CB 5F CO 2A B4 54 22 95 54 C9 

SUPERZAP/CMD,03,43 change 54 3A 91 54 CB to 54 CD 00 52 CB 



******** ZAP 019 ******** 08/25/81 ******** V2M1 ******** 

Mandatory zap to correct next-without-for error occuring when CHAINBLD is 
saving a file in version 1 format and the last line starts with a /./ sequence. 

Add to the end of line 126 of CHAINBLD/ BAS the following eight characters: 
:GOT0130 



******** ZAP 020 ******** 08/28/81 ******** V2M1 ******** 

Mandatory zap to DOS to allow ROUTE of the display to cause the BASIC PRINT of 
a numeric Value to not output the value twice. 

SYS0/SYS,07,E6 change 28 39 CD to 28 5D CD 

SYS0/SYS,08,1F change 

C9 

23 7E 23 66 6F 7C B5 C8 7E BB 23 20 02 7E BA 23 

20 EE E5 D5 C5 7E A0 23 23 23 5E 23 56 D5 DD El 

7A B3 C4 D4 03 CI Dl El CB 40 28 D4 B7 28 Dl C9 

CD 

to 

C9 

7E BB 23 20 02 7E BA 23 20 1A E5 D5 C5 7E A0 23 

23 23 5E 23 56 D5 DD El CD D4 03 CI Dl El CB 40 

28 02 B7 CO 23 7E 23 66 6F 7C B5 20 D3 C3 F8 4C 

CD 

SYS0/SYS,10,08 change 

C9 00 00 00 00 00 00 00 00 to C9 CB 40 CO 79 C9 A4 4B 00 

SYS14/SYS,02,74 change 43 00 00 43 to 43 FC 4C 43 



******** ZAP 021 ******** 08/28/81 ******** V2M1 ******** 

Mandatory zap to BASIC to correct error during marked item and fixed item file 
processing causing strings greater than 127 characters to be written errone- 
ously. 

13-7 ZAPS (PATCHES) 



BASIC/CMD,11,18 change CD El 61 79 DD to CD D4 65 00 DD 

BASIC/CMD,14,DD change 

00 00 00 00 00 00 00 to C5 CD El 61 79 CI C9 



******** 2AP 022 ******** 08/28/81 ******** V2M1 ******** 

Mandatory zap to EDTASM to cause the cursor display to be forced every time the 
* prompt is displayed, waiting for the next command. This allows the cursor to 
be turned back on after a return from the DEBUG 123 function, which turns it 
off. 

EDTASM/ CMD, 05, 12 change CD 39 59 0E to CD 00 57 0E 

EDTASM/ CMD, 03,1 A change 

40 7D E6 3F CO 11 CO FF 19 C9 to 40 CD 39 59 3E 0E C3 39 59 C9 



******** 2AP 023 ******** 08/28/81 ******** V2M1 ******** 

Mandatory zap to DOS to ease some of the problems caused by the fact that 
NEWDOS/80 Version 1 always used a granule lockout table in the directory GAT 
sector whereas Version 2 many times does not, leaving that part of the GAT 
sector for use by the extension for the free/allocated table. Early in the 
development of Version 2, the rule was that if the PDRIVE specification for GPL 
was greater than 2, then the lockout table was not used. Later on, the rule 
was changed to be if the number of lumps is greater than 60H (96 decimal) or if 
relative byte 60H of the GAT 6ector = 0FFH, then the lockout table is not used. 
Some code in SYS6 was not changed to reflect this rule change, causing either a 
lock out table to not be created or to not be properly extended when the 
destination diskette has more granules than the source diskette. This change 
corrects this. However, users are warned that diskettes with GPL greater than 
2 (such as 8 inch or double sided, single density 5 inch diskettes coming from 
Version 1) converted previous to this zap may have trouble with DIRCHECK, on 
either Version 1 or 2, complaining that one or more granules are locked out but 
free or locked out but allocated to a file. The diskettes can still be used as 
it is only DIRCHECK that has the problem, but sooner or later the diskettes 
should be re-copyied using CBF with FMT so this lockout table conflict will be 
straightened out and DIRCHECK will stop complaining. 

SYS6/SYS,10,0A change 

3A CA 59 FE 02 CO 7D to 3A C6 59 FE 61 DO 7D 



******** ZAP 024 ******** 08/30/81 ******** V2M1 ******** 

Mandatory zap to DOS to: 

1. Correct error in format 5 and 6 COPY where destination verify error 
was causing erroneous END OF FILE ENCOUNTERED or INPUT PAST END error to 
be triggered for the next sector. 



ZAPS (PATCHES) 13-8 



2. Allow FORMAT with BDU option and format 5 COPY with FMT and BDU 
options to format the destination diskette even though the destination has 
S TI flag M set (TRSDOS Model III diskette). The BDU opt-n Pre- 
vents anv NEWDOS/80 system control data from being written on the diskette 
curing rormat, and thus allows the Model III diskette to copied via format 

Saming, the resulting diskette is no more processable by "™/80 
than was the source diskette; the purpose here is to allow a NEWDOS/80 
fomat to occur as would have happened had TI flag L been set "steadof M 
(wnich also implies D . Remember, this is not a TRSDOS Model III format. 

SYS6/SYS,07,1E change C6 22 1A 5B 3E to C6 CD 8E 5C 3E 

SYS6/SYS,15,54 change 

00 00 00 00 00 00 00 00 to 22 1A 5B DD CB 01 F6 C9 

SYS6/SYS,27,5D change 6F C2 47 67 to 6F C4 51 67 

******** ZAP 025 ******** 09/01/81 ******** V2M1 ******** 
This mandatory zap is an extension to zap 011 for VISICALC. 

Change to enable directory search feature. Note, to work, ^e directo^ «i8t 
start at diskette relative sector 170 and contain only 2 granules (this is the 
standard: GPL=2, DDSL=17 and DDGA=2). 
VC/CMD,68,B8 change 90 80 40 to 90 82 40 



******** ZAP 026 ******** 09/01/81 ******** V2M1 ******** 
This mandatory zap is an extension to zap &26. 

Change to enable DI directory search feature. Note, to work the directory 
must start at diskette relative sector 170 and contain only 2 granules (this is 
the standard: GPL=2, DDSL=17, DDGA=2). 
PENCIL/ CMD, 05, AB change 3C 80 40 to 3C 82 40 

******** ZAP 027 ******** 09/02/81 ******** V2M1 ******** 

Mandatory zap to DISASSEM to correct causing the RTD option to write extraneous 
data to the diskette and correct a wrong specification in the manual. 

On page 6-9, 6th paragraph, change "1st byte - low value, 2nd - high." to be 
"1st byte - high value, 2nd byte = low.". 

DISASSEM/CMD,04,11 change 5A D5 DD El DD to 5A CD E0 6D DD 

DISASSEM/CMD, 24,60 change 

00 00 00 00 00 00 00 to D5 DD El 21 A0 6F C9 

13 _ 9 ZAPS (PATCHES) 



******** ZAP 028 ******** 09/02/81 ******** V2M1 ******** 

Mandatory zap to DOS to specify the mutual exclusivity of the FORMAT parameter 
PFST and to correct the rejection of the combination of the Y and the PFST 
parameters in FORMAT (see 4th format example on page 2-26). 

Append to the end of the PFST=tn3 paragraph on page 2-25 the following: 

PFST is mutually exclusive with N, DDND, ODN, KDN, KDD, DDSL, DDGA and 
RWF. 
The user will notice that neither KDD or RWF were specified in the FORMAT 
command; however, KDD is a legal parameter and RWF was defined in zap 007. 

SYS6/SYS,03 BE change 02 F9 86 to 02 B9 86 

SYS6/SYS,04,90 change 00 02 4E to 00 00 4E 



******** zap 029 ******** 09/02/81 ******** V2M1 ******** 

This is an information zap. Many people on the Model I are having trouble 
initially shifting NEWDOS/80 Version 2 to a system diskette other than 35 
track, single density, single sided, which is the format of the distribution 
diskette. For this discussion, you are assumed to have read chapter 12 and 
sections 2.14 and 2.37. 

1. To make a double density, single sided NEWDOS/80 Version 2 system diskette. 

1. You must have an excellent working Percom or LNW double density 
modification in your expansion interface. 

2. Take the NEWDOS/80 Version 2 master diskette or an exact duplicate of 
it, place a write protect tab on it, place it in drive and press RESET 
to bring up the system to NEWDOS/80 READY, responding with date and time 
if necessary. 

3. Execute the DOS command: 

COPY, 0,0,, USD, FMT,DPDN=6 

The SYSTEM and SOURCE are both the diskette with the write protect tab on. 
The DESTINATION diskette is the diskette to contain the double density, 
single sided NEWDOS/80 Version 2 system. If you have two drives avail- 
able, or you may use the command COPY, 0,1 , ,USD,FMT,DPDN=6. If the desti- 
nation drive is not a 40 track drive, use COPY, 0, dn2=tc2, , USD, FMT,DPDN=6 
where dn2 is the destination drive number and tc2 is one less than the 
number of tracks for that drive (i.e., 34 for a 35 track drive and 79 for 
an 80 track drive) (example: COPY,0,1=7 9,,USD,FMT,DPDN=6 ). Further, if 
the destination drive has more than 40 tracks, that drive must be other 
than drive during the COPY (otherwise you must obtain a special system 
diskette from Apparat at an extra charge) (after the COPY is over, you may 
shift that drive back as drive to use it as the system drive). 



ZAPS (PATCHES) 13-10 



4. When the COPY command completes successfully and the system has 
returned to NEWDOS/80 READY, mount the destination diskette on drive and 
press RESET. The NEWDOS/80 system on that double density, single sided 
diskette is now the system. 

5. Perform a DIR command to ascertain the extra granules are avail- 
able. Then execute PDRIVE,0 to observe that the specifications for 
drive are now single sided, double density with track reserved for 
opposite density. Please note that the specifications for drives 1 
through 9 have not been changed. If they are to be changed, you must do 
it, studying carefully the PDRIVE command, see section 2.37. 

2. To make a double sided, single density NEWDOS/80 Version 2 system diskette. 

1. Make a copy of the NEWDOS/80 Version 2 master diskette. When done, 
mount that copy of the NEWDOS/80 Version 2 system in drive and press 
RESET. 

2. Execute the following DOS command: 

PDRIVE, 0, 6, TI=A,TD=C,TC=40,SPT=20 

This changes the specifications for drive 6 to be 5 inch, single sided, 
single density, 40 tracks. If you wish other than 40 tracks, change the 
TC parameter above to the desired track count. 

3. Place a write protect tab on the system diskette you have just 
changed. 

4. Execute the following command 

COPY, 0,0,, USD, FMT,DPDN=6 

The source and system diskettes are the same and are the one with the 
write protect tab. The destination diskette is the one to contain the 
double sided, single density NEWDOS/80 Version 2 system. If you have two 
drives available, you may use COPY, 0, 1 ,, USD, FMT,DPDN=6 instead. The 
destination must be on drive 1 if it is to have more than 40 tracks (when 
the COPY is finished, that drive can be made drive 0). 

5. When the COPY command has completed successfully and returns to 
NEWDOS/80 READY, mount the destination diskette in drive and press RESET 
to bring up the double sided, single density system. Perform DIR and 
PDRIVE, as discussed above to observe the changed system. Proceed with 
additional PDRIVE re-specifications, if necessary. 

3. To make a double sided, double density NEWDOS/80 Version 2 system diskette. 

1. You must have an excellent working Percom or LNW double density 
interface in your expansion interface. 

2. Proceed as for single sided, single density discussed above excepting 
that the PDRIVE command is: 



13-11 ZAPS (PATCHES) 



PDRIVE, 0, 6, TI=CK,TD=G,TC=39,SPT=36,GPL=2,DDGA=2 

This is for a 40 track drive, for 35 use TC=34, for 80 use TC=7 9. 
Further: 

1. For a destination drive more than 40 tracks use GPL=8 and you 
will probably want an expanded directory, say DDGA=6 for maximum 
size, giving 224 directory entries. However, if any of GPL, DDSL or 
DDGA are different between the source and destination drives during 
COPY or if the number of sectors, granules or tracks for the destina- 
tion diskette is less than the source diskette, the CBF (Copy By 
File) parameter must be specified in the COPY command (example: 
COPY,0,0,,USD,FMT,DPDN=6,CBF ). So, in the case here for drives 
over 40 tracks, since the GPL is different (the source's GPL is 2 and 
the destination's GPL is now 8), you must use the CBF parameter. 
Actually, you could have used the CBF option in any of the COPY 1 s 
mentioned above in this zap, but CBF runs slower and should only be 
used where necessary. 

2. For LNW interface, you can specify TI flag E instead of flag C 
(example, TI=EK instead of TI=CK) (if any 8 inch drives are to be 
used with the LNW, E must be specified instead of C). However, 
remember, flags E and C are interdrive mutually exclusive; so if you 
change one of the 10 drive specs from using flag C to using flag E, 
you must change any of the others that use flag B or C (see next 
section). 

4. Users setting up their systems to use the 8 inch drives through the 0MIKR0N 
interface (TI=BH) are experiencing trouble with the PDRIVE error code **** TI= 
SPEC BETWEEN DRIVES INCOMPATIBLE. Please refer to the last two sentences of 
the TI=typel paragraph in the middle of page 2-34. If any drive's TI speci- 
fies flag B, then no other can specify either flag C or E. You must change the 
PDRIVE specifications for drives 4, 6, 8 and 9 as they conflict with flag B. 
To do this, simply execute the DOS commands: 

PDRIVE, 0,4=0 
PDRIVE, 0,6=0 
PDRIVE, 0,8=0 
PDRIVE, 0,9=0 

Remember, you should not make any PDRIVE changes to the NEWDOS/80 Version 2 
master diskette; perform the changes on working copies of it. 



******** ZAP 030 ******** 09/02/81 ******** V2M1 ******** 
Information only. 

1. Chapter 12 failed to make it clear that though diskettes are content 
interchangeable under NEWDOS/80 Version 2 between the Model I and Model III, 
there is a problem dealing with a format control byte for directory sectors of 
single density diskettes. Carefully read SYSTEM options BK and BN (even though 
you have only Model III) on page 2-49, WRDIRP command on page 2-52 and the W 
function of DIRCHECK on page 6-14. 

ZAPS (PATCHES) 13-12 



1. For Model III NEWDOS/80 Version 2 users, single density diskettes 
coining from the Model I can be processed on the Model III by setting 
SYSTEM option BK=Y, setting up the proper single density PDRIVE and then 
for each such diskette, execute once either the DOS command WRDIRP or the 
W function of DIRCHECK. After this is done, the diskette can be used as 
any other diskette under Model III NEWDOS/80 Version 2. Subsequently, 
this diskette can not be processed by the Model I TRSDOS 2.3, but it can 
be processed by the Model I NEWDOS/80 Version 1 provided the format of the 
diskette is not changed to one of the variety of formats available on 
Version 2 but not available on Version 1). However, once this diskette is 
used back on the Model I NEWDOS/80 Version 1 and a directory sector is 
updated, the diskette cannot be reused on the Model III without performing 
again the WRDIRP or DIRCHECK function on that diskette on the Model III 
(remember, NEWDOS/80 Version 1 does not have either of these two 
functions). 

2. For users that have NEWDOS/80 Version 2 for both the Model I and III 
and wish to use single density 5 inch diskettes interchangeably between 
the Model I and Model III, set SYSTEM options BK=Y and BN=Y on the Model I 
and BK=Y on the Model III. Then, for each such single density diskette, 
execute once either WRDIRP or the W function of DIRCHECK. This can be 
done on either the Model I or III and all such diskettes do not have to be 
done at the same session. Each such diskette can now be used interchange- 
ably between the Model I and Model III under NEWDOS/80 Version 2 (don't 
forget the proper PDRIVE specifications), but the diskette cannot be pro- 
cessed by TRSDOS 2.3 

2. For BASIC function RENUM (see section 7.9 on page 7-5) the 4th and 5th 
formats listed ( RENUM X and RENUM U,X ) are not valid and should be deleted 
from the middle of page 7-5. If the X parameter is to be used, it must be 
done via the 1st format listed as X is meaningless unless specific values for 
ppppp and/or qqqqq are also specified. 

3. Some users have asked for more distinctions between full diskette COPY 
(format 5) or Copy By File COPY (format 6), both specified in section 2.14. 

1. Format 5 copies a full diskette sector by sector and is generally 
faster than format 6, which copies files individually. However, if the 
source diskette is relatively empty, format 6 may be faster. 

2. In format 5 the source directory becomes the destination directory, 
including the same size and relative sector position on the diskette, 
while in format 6, the two directories are considered separate just as in 
a format 1 through format 4 COPY. 

3. Generally, if format 5 is used, both the source and destination PDRIVE 
specifications for GPL, DDSL and DDGA must be the same (though only the 
restriction on GPL is enforced, but not if BDU is specified); the other 
PDRIVE parameters may be different provided the destination diskette is to 
have at least as many sectors as the source diskette (though the format 5 
specifications say that sectors per track must be the same; this is not so 
in Version 2 where it was in Version 1). 



13-13 ZAPS (PATCHES) 



4. Format 5 with the BDU option allows some alien diskettes to be copied 
that otherwise could not be copied. 

5. Format 6 allows a diskette's contents to be copied between diskettes 
having a different number of granules per lump (GPL), the directories 
positioned differently on the diskettes, the directories of different 
sizes, or the destination diskette having less sectors than the source. 

6. Format 6 copies all of a source diskette's files or a selected subset 
of those files. 

7. Both format 5 and 6 allow the option of formatting the destination 
diskette (FMT) or not (NFMT). Formatting a diskette magnetically init- 
ializes the entire diskette including the inter-sector control bytes used 
only by the drives and the controller. Many users prefer to do this 
every time a back up is done. Of course, formatting a diskette destroys 
the previous contents. 

8. If format 6 is being used to copy -a NEWDOS/80 Version 2 system disk- 
ette, the FMT option must be specified. This assures the correct BOOT, 
SYSTEM and PDRIVE control informat is stored on the destination diskette, 
and the correct positioning of SYSTEM files which, excepting for BOOT/SYS 
and SYSO/SYS, are all positioned on the destination diskette in same pos- 
ition relative to the directory that they are on the source diskette. 

9. In format 6 where NFMT is specified, system files are NOT copied to 
the destination diskette if they are not already existing in the destina- 
tion directory. This is because system files usually use specific FDEs in 
the directory, and only FMT can assure that these FDEs are available. 

10. Format 5 without BDU and format 6 with FMT both assume the possi- 
bility of the destination diskette being used later as the system diskette 
and the destination drive or one like it being used later as drive 0; 
therefore both initialize the BOOT/SYS file to contain the proper BOOT 
code and drive PDRIVE specifications. 



ZAPS (PATCHES) 13-14 



******** ZAP 031 ******** 09/06/81 ******** V2M1 ******** 

Mandatory zap to DOS to allow files to be copied from and to diskettes used by 
Model I TRSDOS 2.3B and higher as well as from and to diskettes used by Model 
III TRSDOS 1.3 or higher. After applying the documentation changes given 
below, see section 12.5.1 on page 12-7, the 'flag M 1 paragraph on page 2-35 
and the bottom half of page 2-15. 

This enhancement expands the definition of PDRIVE TI flag M (see page 2-35). 
When the M flag is specified and the TD field specifies double density (i.e., 
TD=E), the PDRIVE specification is assumed for a Model III TRSDOS diskette and 
TI flag I is implied (see example 3 on page 2-38). When the M flag is 
specified and the TD field specifies single density (i.e., TD=A) , the PDRIVE 
specification is assumed for Model I TRSDOS 2.3B or higher diskette, and TI 
flag I is not implied and must not be specified (see example 1 on page 2-38 
with TI=AM). 

Radio Shack has started distributing certain new programs (i.e., COBOL) with or 
on Model I TRSDOS 2.3B or higher diskettes with that system being somewhat 
different than Model I TRSDOS 2.3, including the use of RBAs as discussed in 
section 12.1 for the Model III. These diskettes are NOT compatible with 
NEWDOS/80 diskettes, and, as with Model III TRSDOS diskettes, COPY is the only 
function of NEWDOS/80 that can be used with the Model I TRSDOS 2.3B diskettes 
(though FREE and DIR (except EOF and special flags) appear to work). 

Files on either Model III TRSDOS or Model I TRSDOS 2.3B diskettes that are to 
be used either by NEWDOS/80 or user programs executing with NEWDOS/80 must be 
copied to NEWDOS/80 diskettes. FORMAT or COPY with FMT option cannot be used 
to format a diskette in either the Model III TRSDOS or the Model I TRSDOS 2.3B 
format; however, format 5 COPY with the BDU option can be used to make copies 
of those diskettes. 

***** ZAP 013 must NOT be installed in a NEWDOS/80 that is used to copy Model I 
TRSDOS 2.3B files. ZAP 013 must be used for Model III TRSDOS 1.1 or 1.2 
diskettes. 

Insert the following notes in the outside margin of the specified paragraph: 

1. Page 2-9, next to last paragraph: "For Model III TRSDOS and Model I 
TRSDOS 2.3B diskettes, see ZAP 031." 

2. Page 2-15, "The COPY command" paragraph: "This section applies also 
to standard 35 track, single sided, single density diskettes for Model I 
TRSDOS 2.3B or higher." 

3. Page 2-15, "The user must" paragraph: "See examples 1 and 3, section 
2.37". 

4. Page 2-35, "Flag M" paragraph: "Expanded to include Model I TRSDOS 
2.3B or higher diskettes. See ZAP 031 

5. Page 2-38, example 1: "For Model I TRSDOS 2.3B diskettes, use TI=AM 
(see ZAP 031)." Also in this same paragraph, change the last two words to 
read "option BN" instead of AN. 



13-15 ZAPS (PATCHES) 



6. Page 12-7, paragraph 12.5.1: "See ZAP 031." 

SYS6/SYS,00,7D change CD B3 63 21 to CD 96 5C 21 

SYS6/SYS,15,5C change 

00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 

to 

CD B3 63 3A 

BE 59 47 3A B9 59 4F 3A CC 59 57 3A C7 59 5F 79 

A3 CB 6F 28 06 78 AA OF DA 47 67 78 CB 69 20 04 

CB 6B C8 7A OF D8 21 5B 5B 22 F7 55 21 Bl 5B 22 

5D 5B 21 00 5C 22 61 5B AF 32 7F 61 67 6F 22 BF 
61 22 B5 5B 3E 18 32 2D 61 C9 

SYS6/SYS,22,6B change CD B3 63 CD to CD 96 5C CD 

SYS16/SYS,01,F8 change 05 28 02 3E 03 CD to 05 00 C4 8D 51 CD 

SYS16/SYS,02,AF change 

CB E3 DD 7E 05 FE 06 CO to CB 43 3E 06 C4 87 51 CO 

SYS16/SYS,04,9A change 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 to 

00 CB E3 DD BE 05 C9 DD CB OF 56 C8 3E 03 C9 



******** ZAP 032 ******** 09/10/81 ******** V2M1 ******** 

Mandatory zap to DOS to: 

1. prevent COPY from setting file update flag on in Model I TRSDOS 2.3B 
and Model III TRSDOS diskettes when that bit is used differently in those 
systems. 

2. enable /ext type CBF file selection when the source is a Model I TRSdos 
2.3B or Model III TRSDOS diskette. 

SYS6/SYS,10,83 change C3 39 44 DD to C3 E4 5C DD 

SYS6/SYS 15 AA change 

00 00 Oo'oo'oO 00 01 00 EA 5C 00 00 00 00 00 00 00 00 to 

3A 0C 43 CB 6F 28 01 00 EA 5C 04 DD CB 02 EE C3 39 44 

SYS6/SYS,16,F0 change 61 20 0D 3A 96 59 CB to 61 3A 96 59 20 0A CB 



ZAPS (PATCHES) 13-16 



******** ZAP 033 ******** 09/10/81 ******** V2M1 ******** 

Mandatory zap to correct error in SUPERZAP during the DM function and during 
the F, find function. 

SUPERZAP/CMD,00,11 change 

00 00 00 00 00 00 00 to 6B 63 4B 22 C3 54 C9 

SUPERZAP/CMD,05,0B change 00 6B 63 4B CB to 00 CD 0D 52 CB 



******** ZAP 034 ******** 09/11/81 ******** V2M1 ******** 

Mandatory zap to the Ryan-McFarland Corp's COBOL version 1.3B distributed by 
Radio Shack to allow it to run with NEWDOS/80 Version 2 for the Model I and 
Model III. This zapped version will not run under TRSDOS. Users must copy the 
COBOL multiple files onto NEWDOS/80 diskettes (see zap 031). 

RSC0B0L/CMD,99,7D change 44 24 3E 40 49 to 44 82 27 44 49 

RSC0B0L/CMD,99,CF change 44 13 IF 44 to 44 82 27 44 

RUNC0B0L/CMD,115,82 change 

44 3E 40 49 40 24 17 to 44 27 44 49 40 82 17 

RUNC0B0L/CMD,115,99 change 

02 IF 44 11 44 13 0A to 02 27 44 11 44 82 0A 



******** ZAP 035 ******** 09/13/81 ******** V2M1 ******** 

Mandatory zap to DOS to correct a directory clobbering error that occurs when 
either CLOSE or KILL frees up a FPDE or FXDE that occupies the first FDE slot 
in a directory sector. This error was missed during BETA testing as it was 
caused by a late adjustment to handle the TRSDOS Model III diskettes. A few 
persons were complaining about directories being clobbered, but only on 
September 12th was an error report made that lead to the discovery. Though the 
problem would appear to affect many users, apparently to date it has not. 

SYS3/SYS,01,CC change 

00 7D D6 17 BB 30 ID to 00 7B C6 16 BD 38 ID 



******** ZAP 036 ******** 09/13/81 ******** V2M1 ******** 

Information zap. 

1. Documentation correction for EDTASM. Tape I/O is NOT available for the 
Model III. If it is attempted, BAD PARAMETER(S) error will be given. 

1. Place in the outside margin of the "2. L T=nnnnnn" paragraph of page 

13-17 ZAPS (PATCHES) 



6-15 the following restriction: "Model I only" 

2. Place in the outside margin of the 2nd line of page 6-16 of page 6-16 
the following restriction: "Model I only" 

2. Correct the "A list of all" paragraph on page 1-3 to read "NWD80V2/ILF and 
NWD80V2/XLF" instead of "NWD82V2/ILF and NWD82V2/XLF". 

3. Delete the words "sectors per track, " from the "Format 5 is a full" 
paragraph of page 2-11. 

4. The MM=addrl function of ROUTE requires the main memory location addrl to 
be greater than 51FFH. In the "Any of the devices" paragraph of page 2-43, 
insert the words "greater than 51FFH" after the word "location" in the phrase 
"memory location of a user". 



******** ZAP 037 ******** 09/14/81 ******** V2M1 ******** 

Mandatory zap to BIONIC BASIC to make it compatible with NEWDOS/80 Version 2 
for the Model I. These zaps were provided to Apparat and have not been checked 
out by Apparat. One or more of the zaps may already be installed in your 
modules. When these zaps are applied, the BIONIC BASIC must not be used with 
any other version of NEWDOS/80. 



FIREUP/ 


CMD, 02, 51 


change 


3A 31 0D to 


3A 30 0D 


it 


,04,90 


change 


21 86 63 22 


to 21 FC 61 22 


it 


,05,3C 


change 


40 09 58 01 


to 40 FF 57 01 


n 


,05,40 


change 


05 28 65 to 


05 86 65 


it 


,05,4E 


change 


05 30 5F to 


05 8E 5F 


ii 


,05,55 


change 


05 60 5F to 


05 BE 5F 


ii 


,05,5C 


change 


05 CF 64 21 


to 05 2D 65 21 


•i 


,05,63 


change 


05 BE 64 21 


to 05 1C 65 21 


•i 


,05,6A 


change 


05 95 64 to 


05 F3 64 


INSTALL/ CMD, 01 ,0D 


change 


3A 31 0D tc 


► 3A 30 0D 


•i 


,01,4F 


change 


44 C8 FE tc 


► 44 C9 FE 


REMOVE/ 


'CMD, 01, 12 


change 


3A 31 0D to 


3A 30 0D 


it 


,01,54 


change 


44 C8 FE to 


44 C9 FE 



******** ZAP 038 ******** 09/14/81 ******** V2M1 ******** 

Optional zap to Model I SCRIPSIT to eliminate the 'hang' occuring when the END 
function is executed and the last disk I/O was to a double density drive. 
SCRIPTSIT executes the END function by jumping to location 0, causing a 
software but not a hardware RESET. The double density modifications to the 
expansion interface require a hardware RESET to reset them to the single 
density disk I/O assumed by the software RESET in the ROM. SCRIPSIT uses the 
RESET to restore the keyboard, display, printer and other interfaces it has 
changed. If the Z-80 HALT instruction is executed instead of a jump to 
location 0, the Model I (this does not hold for the Model III) hardware RESET 

ZAPS (PATCHES) 13-18 



is triggered which in turn triggers the software RESET. In both cases, either 
the jump to or the HALT, the red lights on the disk drives must be off. The 
zap is applicable under TRSDOS as well as all versions of NEWDOS. 

SCRIPSIT/LC,19,E3 and SCRIPSIT/UC,19,E3 
change 6F C3 00 to 6F 76 00 



******** ZAP 039 ******** 09/24/81 ******** V1M1 ******** 

Mandatory zap to PENCIL to enable it to run with NEWDOS/80, version 2. This 
zap is an extension of zaps 002 and 026. We apologize for the large number of 
zaps to PENCIL, but Apparat doesn't use PENCIL and so must rely upon the users 
to find the discrepancies. 

PENCIL/ CMD, 03, 25 change 53 36 A0 CI to 53 CB FE CI 



******** ZAP 040 ******** 09/29/81 ******** V2M1 ******** 

Mandatory zap to DOS to correct rare occuring error that could, if the same HIT 
code is used more than 31 times in a directory, cause file open to not find a 
file and to put two files with the same name/ext on the diskette. 

SYS2/SYS,01,CB change FE CD 28 to FE CC 28 



******** ZAP 041 ******** 09/29/81 ******** V2M1 ******** 
Information and manual corrections. 

1. A number of users have had trouble with tape I/O under NEWDOS/80 Version 2. 
Some of the early copies of NEWDOS/80 Version 2 had errors due to undetected 
RAM errors during duplication and in maybe as many as 20 cases this affected 
the EDTASM or LMOFFSET module. However, if these modules were bad, they 
usually also had problems with disk I/O as well as cassette I/O and so if disk 
I/O works fine, we assume it is not a bad copy of NEWDOS/ 80. Tape I/O has long 
history of trouble, varying from computer to computer and especially from tape 
unit to tape unit such that any particular tape will fail on somebody's 
cassette unit. This has always been an exasperating problem and the main 
reason why cassettes are not used at Apparat (though we do act as a retailer/ 
distributor for products distributed on cassettes produced by others). Because 
cassettes are not used at Apparat, NEWDOS receives very little testing with 
cassettes, and in the future we are considering withdrawing all support (i.e., 
LMOFFSET and EDTASM) from cassettes. Cassette support for EDTASM for the Model 
III has already been withdrawn and will probably soon be withdrawn for the 
Model I (since the purpose of our EDTASM was to give disk support, not 
cassette). For now though, we will restrict our error study to those problems 
presented to us on a diskette containing the actual NEWDOS system used. If the 
user presents us with a cassette along with the diskette we will test that as 
well; otherwise we will test with simple programs from disk in-house. Neither 

ZAPS (PATCHES) 13-19 



the diskette nor the cassette will be returned to the user. Lastly, if you can 
avoid use of cassettes, DO!!!!! 

2. The specifications for ROUTE using the MM=addrl operand are in error in the 
manual. 

1. Page 2-43, 3rd paragraph, 3rd line, change "12" to "16". 

2. Same paragraph, 5th line, change "13th" to "17th". 3. Page 2-44, 
top line, change "0FE8CH" to "0FE90H". 

3. A number of users has asked why Automatic Density Recognition (ADR) was not 
used in NEWDOS/80 Version 2. We wanted to included ADR but found it impracti- 
cal unless we limited or expanded other capabilities made available by PDRIVE. 
Since we were already two months late in releasing Version 2, we decided to 
release without it. Part of the problem is in providing a second SPT parameter 
and an extra indicator for track useage (remember, Version 2 operates with 
double density diskettes that may or may not have track reserved for single 
density). We also felt that if we included ADR, we should also include ASR 
(automatic side recognition). For now, we will remain without ADR and ASR, but 
will not rule it out for a subsequent NEWDOS/80 version. 

4. For BASIC CMD "0" and multi-dimensional arrays, a few users have asked for 
clarification of term REN used in the documentation for on pages 7-14 through 
7-17. CMD"0" does not care whether an array is single or multi-dimensional as 
CMD"0" only concerns itself with the relative positioning in main memory 
between array elements and not with the actual subscripts for a given element, 
except for determining the main memory position of the first element partici- 
pating in the 6ort as specified in the CMD "0" statement. As an aide to the 
programmer to understand the sort order, a formula was given for two and three 
dimensional arrays to determine the REN of any array element given its 
subscripts. The following working BASIC program demonstrates the relationship 
between REN and subscripts for a three dimensional array, using Rl , R2, R3 , XI, 
X2 and X3 to correspond with the useage at the bottom of page 7-14 and top of 
page 7-15. 

10 Rl=3: R2=4: R3=2: DIM A(Rl,R2,R3) 

20 REN=0: FOR X3=0TOR3: FOR X2=0T0R2: FOR Xl=0TORl 'CREATE ARRAY IN REN 
ORDER 

30 IF REN <> X1+X2*(R1+1)+X3*(R1+1)*(R2+1) THEN PRINT"ERR0R": STOP 
35 ' THE ABOVE ASSURES THE FORMULA COMPUTES TO THE CURRENT REN NUMBER 
40 A(X1,X2,X3)=REN: REN=REN+1 : NEXT X1,X2,X3 'STORE THE REN NUMBER IN 
THAT ELEMENT 

50 CMD"0",0,A(0,0,0) 'SORT ARRAY IN ASCENDING NUMERIC ORDER 
60 ' THE ARRAY ORDER SHOULD NOT HAVE BEEN CHANGED. 

70 FOR X3=0T0R3: FOR X2=0TOR2: FOR Xl=0TORl 'LIST ARRAY IN SAME ORDER 
• STORED 

80 PRINT A(X1,X2,X3);: NEXT X1,X2,X3 'AND THIS SHOULD BE ALSO THE SORTED 
ORDER 

Elements with one or more zero subscripts do participate in the sort if that 
element is within the main memory range of elements sorted, i.e., has a REN 
greater than or equal to the REN of the 1st sort element and less than or equal 
to the REN of the last sort element. 

13-20 ZAPS (PATCHES) 



5. Correct the last paragraph of page 2-27 by deleting the 3rd sentence and 
changing the 4th sentence to read "Hex codes less than 20H or greater than the 
SYSTEM option AX value will be displayed as periods.". 

6. A number of users having CPU speed up modifications in their computers and 
setting the slow-down-during-I/O switch have complained that NEWDOS/80 contin- 
uously toggles the fast/normal CPU speed state (in many cases a light flickers 
on/off or red/green). Indeed this is true. In the original TRSDOS, there were 
8 interrupts, 0-7, of which only 6 and 7 were used. Interrupt 6 only read 
the disk controller status register; so NEWDOS/80, to save resident DOS space 
which is critical, combined interrupt 6's function with interrupt 7, reading 
the controller status register every 25 ms interrupt. Though the fast/normal 
CPU toggling is interested only in the controller command register, the hard- 
ware connection actually toggles on both the read of the status register and 
the write of the command register. Normal disk I/O cannot operate without the 
status register read when the controller has interrupt status; so we cannot 
eliminate the interrupt 7's read of the status register without re-enabling 
interrupt 6 and we don't have the patch space for that. Therefore, users must 
turn off the switch on their computers that allows the fast/normal toggling to 
take place, and simply use the fast speed all the time (be sure SYSTEM option 
BJ is set correctly). There is no guarantee that your computer will actually 
work at the faster speeds. Doubling the CPU speed seems OK; tripling appears 
NOT. The LNW computer at 2.5 times the TRS-80's normal speed is reported by 
LNW to work fine. 



******** ZAP 042 ******** 09/30/81 ******** V2M1 ******** 

Mandatory zap to correct error in BASIC'S RENUM function giving SEQ # OVERFLOW 
when large programs, say over 26,000 bytes of text, are renumbered. Though a 
number of users called on this problem, it wasn't until a user sent us a 
written error report with the problem program on a system diskette that we 
finally had enough to go on. 

SYS11/SYS,03,BB change OF ED 42 DF 38 to OF CD 9D 51 38 

SYS11/SYS,04,A5 change 00 00 00 00 00 to ED 42 D8 DF C9 



******** ZAP 043 ******** 10/07/81 ******** V2M1 ******** 

Mandatory zap to DOS to correct omision from ZAP 020 (ROUTE) which caused 
SYSTEM option BA to cause hang on reset. 

SYS0/SYS,00,BF change FF 00 00 00 to FF FC 4C 00 



******** ZAP 044 ******** 10/07/81 ******** V2M1 ******** 

Mandatory zap to DOS to disable SYSTEM option BM. SYSTEM option BM=N caused 
the full diskette verify to be bypassed when the user felt the track verify 

ZAPS (PATCHES) 13-21 



that occurred immediately after a track was formatted was sufficient. However, 
if the user is formatting more tracks that the drive can physically handle, 
FORMAT with SYSTEM option BM=N will not detect the error whereas it will with 
SYSTEM option BM=Y. Therefore, SYSTEM option BM is dropped, and the full 
diskette verify will always be done. 

On the outside margin of the BM=yn paragraph of page 2-49, write the following: 
"eliminated by ZAP 044". 

SYS6/SYS,10,35 change 

El 3A 6D 43 CB 5F C8 3E to El 00 00 00 00 00 00 3E 

SYS17/SYS,02,55 change FE 31 7A to FE FE 7A 



******** ZAP 045 ******** 10/07/81 ******** V2M1 ******** 

Mandatory zap to correct BASIC function REF$ to (1) avoid occasional misses of 
printer line advance and (2) disable printer operations after the function. 

SYS12/SYS,04,BA change FE 38 30 to FE 35 30 

SYS18/SYS,03,57 change D2 B5 57 3D to D2 59 55 3D 

SYS18/SYS,03,69 change 00 00 00 00 00 to 11 45 64 D5 EF 



******** ZAP 046 ******** 10/09/81 ******** V2M1 ******** 

Optional zap to DOS to allow 'JKL' to print graphics on the EPSOM printers that 
use graphic codes 0A0H - 0DFH. This is done by converting hex codes 80H 
through 0BFH to 0A0H through 0DFH. 

SYS3/SYS,04,BF change 30 02 3E to 30 07 3E 

SYS3/SYS,04,C8 change 

00 00 00 00 00 00 00 00 to FE 80 38 F7 C6 20 18 F3 

Use next zap if 0BFH rather than SYSTEM option AX is to govern as high ASCII 

for JKL. 

SYS3/SYS,04,B9 change 47 3A 70 43 B8 to 47 00 3E BF B8 



******** ZAP 047 ******** 10/21/81 ******** V2M1 ******** 

Mandatory zap to correct DOS handling of 8 inch, double density, single or 
double sided, single volume drives (PDRIVE TD=H) where the computer hardware is 
modified to handle double CPU speed and 8 inch, double density, single or 
double sided, single volume operations. The PDRIVE SPT maximum values are 30 
for single sided and 60 for double sided. The PDRIVE GPL must be atleast 3 for 
single sided and atleast 5 for double sided; however 8 is recommended in both 
cases. This zap does NOT mean that your particular computer can handle this 

13-22 ZAPS (PATCHES) 



type of drive. However, LNW reports the LNDOUBLER 5/8 (CPU speed up modifica- 
tion required) and the LNW80 computer systems both support 8 inch double 
density under NEWDOS/80, Version 2 (also see zap 041 part 6). 

SYS6/SYS,27,BD change E6 41 DD to E6 CI DD 

SYS6/SYS,31 F5 change 

34 OA 26 OA 86 01 9C 27 44 00 to 13 0A 14 0A 53 01 BA 27 26 00 

SYS16/SYS,04,2D change 12 1A 24 34 82 to 12 IE 24 3C 82 



******** zap 048 ******** 10/21/81 ******** V2M1 ******** 

Mandatory zap to EDTASM to correct error occurring when shift-left-arrow is 
used to erase a filespec response. 

EDTASM/ CMD, 31 ,00 change 

58 C5 CD 2F 59 El E5 3A AA 53 F5 0E 01 CD 47 5B Fl 32 AA to 

58 D5 C5 CD 2F 59 El 06 IF CD 40 00 DA D7 58 Dl 7E C9 AA 



******** ZAP 049 ******** 11/09/81 ******** V2M1 ******** 

Mandatory zap to DOS to correct error in DIR $ or DIR $0 command where DOS 
hangs if any response other than ENTER is given to the diskette mount requests 

SYS8/SYS,02,B8 change 20 FC C9 to 20 F9 C9 



******** ZAP 050 ******** 11/09/81 ******** V2M1 ******** 

Optional zap to DOS to allow the DOS PRINT and LIST commands to accept all 
control characters in the hexidecimal range 00 to IF instead of just 0D (end of 
line). If this zap is used, users must assure that files used with PRINT and 
LIST do not contain control characters the display or printer cannot handle. 
Remember, the high bit of all characters is zeroed, thus display graphic 
characters 80 - 9F will be transmitted as 00 - IF. 

SYS14/SYS,04,5A change 20 DO FE to 20 C9 FE 



******** ZAP 051 ******** 11/09/81 ******** V2M1 ******** 

Information zap. 

1. Users must remember that the Model I TRSDOS 2.3B or higher and Model III 
TRSDOS 1.3 or higher, amongst other things, both went to using RBAs in the NEXT 
and EOF fields of the FCB, thus intentionally or unintentionally restablishing 
compatibility with NEWD0S21 and NEWDOS/80 in the use of those two fields (which 
many user programs use), even though the EOF fields in the directories (which 

ZAPS (PATCHES) 13-23 



most user programs don't use) are now incompatible. Though files from those 
systems must be copied to NEWDOS diskettes, assembly language programs upgraded 
to run with those TRSDOS systems are more like to run with NEWDOS without 
change then they were before. For example, on the Model III, SCRIPSIT Version 
3.2 has been found to work as-is. So, before calling Apparat to see if zaps 
exist for a given program, try it out, giving special attention to the file 
1/0.2. The manual failed to explain that when SYSTEM option AJ=N or when the 
up-arrow key is held down during reset/power-on, DOS loses the ability use the 
lower case driver (Model I only) or to actually input keyboard characters from 
the chain file during chaining as these functions depend upon DOS's keyboard 
intercept routine being enabled. SYSTEM options AU=N and BF=N (Model I only) 
and are also forced. DOS will think it is activating chaining, but actually 
the input characters will continue to come from the keyboard; the DOS READY 
prompts will not be seen as DOS thinks it is chaining. For LCDVR (Model I 
only), the command will execute but the key input functions for lower case 
drive will not be done. Insert the note "see ZAP 051, part 2" in the outside 
margin at the following places in the manual. 

1. Page 2-7, the "CHAINING is discussed" paragraph. 

2. Page 2-29, the "In NEWDOS/80" paragraph. 

3. Page 2-47, the "AJ^yn" paragraph. 

4. Page 4-9, the "If a DOS recognized" paragraph. 

3. Chain files must always have a name- ex tens ion. When creating a CHAIN file, 
you must always specify a name- ex tens ion in the filespec, excepting that 
CHAINBLD/BAS will assume name extension /JCL if you don't give one. If the 
filespec given in a DO or CHAIN command does not specify a name- ex tens ion, then 
/JCL is assumed; therefore it is recommended that the name-extension /JCL be 
used on chain files when created. Place the note "See ZAP 051, part 3" in the 
outside margin in the following places in the manual. 

1. Page 2-7, the "When the system" paragraph. 

2. Page 4-8, the "Chain file creators" paragraph. 

4. For Model I SCRIPSIT where the user wishes to use tape I/O, the user must 
back off the last zap of ZAP 003 (the SCRIPSIT/xx,00,C3 zap) in order that 
interrupts will remain disabled, a requirement for Model I tape I/O. This 
means the user cannot invoke MINI-DOS from SCRIPSIT. 



******** ZAP 052 ******** 11/09/81 ******** V2M1 ******** 

Mandatory zap to BASIC to correct CLOSE without explicit fan(s) where filearea 
2 and up was not being closed if filearea 1 was not open and the V parameter 
was specified in the BASIC invocation sequence. 

BASIC/CMD,08,C8 change 66 11 2D 01 7E to 66 CD DB 65 7E 

BASIC/CMD,14,E4 change 00 00 00 00 00 to ED 5B C5 64 C9 



13-24 ZAPS (PATCHES) 



******** ZAP 053 ******** 11/09/81 ******** V2M1 ******** 

Part mandatory and part optional zap to MICROSOFT'S BASIC compilier Version 
5.23 (the release Version for a long timeXthe first line a /LST file created 
by the compilier gives the compilier version number) to allow it to run with 
NEWDOS/80. This zap has been provided to Apparat by MICROSOFT and if there are 
questions with this zap, please contact MICROSOFT. Once these zaps are 
applied, this compilier and the compiled programs cannot be used with TRSDOS!!! 
Future enhancements to the compilier may require the optional changes below to 
be backed off; therefore users should maintain copies of the compilier (1) as 
it existed before the mandatory changes below were applied, (2) after the 
mandatory changes but before the optional changes below are applied and (3) the 
final result. Also, remember, the BASIC compilier' s L80/CMD is not for use 
with FORTRAN, assembler, etc., but only with BASIC. 

The production of this zap required a large amount of research and testing by 
MICROSOFT, and APPARAT sincerely thanks MICROSOFT for this extensive effort to 
make the BASIC compilier operate with NEWDOS/80, Version 2. 

****** Mandatory section 

BRUN/CMD,10,1D change 46 OB 70 to 46 00 70 

******* optional section 

The following optional zaps are for: 

1. The L0F function is changed to work like NEWDOS/80, rounding up the 
returned value if EOF is not integer divisible by the logical record 
length used in the OPEN statement. Further, if the result exceeds 32767, 
BAD RECORD NUMBER error results. 

2. PUT and GET without explicit record number works correctly. 

3. LOC functions correctly for the logical record length in the OPEN 
statement. 

DIR/SYS,xx,yy Search the directory for BRUN/CMD's directory entry, the 
associated line on the SUPERZAP display should look something like this: 

1020 0062 0042 52 55 4E20 2020 2043 4D44 ...b.BRUN CMD 

change the 62 (the 4th) byte to F6. 

BRUN/CMD,40,4A change 

21 0C 00 09 5E 23 56 EB Dl CI C9 CD to 

DD 21 6E 8A CB 23 DD 19 C3 2E 8A CD 

BRUN/CMD,40,63 change 00 C3 AD 79 El to 00 C3 37 8A El 

BRUN/CMD,40,B3 change C5 21 0C 00 09 to C5 C3 00 8A 09 

BRUN/CMD,40,CE change IB 42 4B to CD 11 8A 

BRUN/CMD,42,7F change CD 17 58 to CD IB 8A 



ZAPS (PATCHES) 13-25 



BRUN/CMD,56,84 change 02 02 00 52 (the rest is immaterial) 
to 

016D 008A CB23 DD21 6E8A DD19 
DD5E 00DD 5601 C317 7ADD 7300 DD72 011B 
424B C9C5 CB21 DD21 6E8A DD09 DD70 OODD 
7001 C1C3 1758 DD6E OODD 6601 D1C1 C9C5 
DDE1 DD6E OADD 660E DD5E OFDD 4E0B AFB9 
281D AF06 18ED 6ACB 1317 9130 0181 3F10 
F4ED 6AB7 2801 23D1 C1CB 7CC8 C39A 7D6C 
6318 F402 0200 52 

L80/CMD,00,7A change 00 8A 22 to 00 8B 22 

Note, the above zap to L80/CMD changes the default data address for compilied 
BASIC programs from 8A00H to 8B00H to allow an extra 256 bytes for BASIC system 
use. If the -R switch is issued during the linking process, the -D switch must 
be reset to 8B00 instead of 8A00 as mentioned in the compilier manual. 



******** zap 054 ******** 11/19/81 ******** V2M1 ******** 

Mandatory zap to EDTASM correct error in object code write to tape where 
checksums were being computed wrong. The NEWDOS/80 author apologizes to the 
ten or so persons who complained of this error over the last 4 months. 

EDTASM/ CMD, 27, 30 change CD A9 70 EB to CD 8B 72 EB 

EDTASM/ CMD, 30, 12 change AA 53 36 00 El 7 E to F5 CD A9 70 Fl C9 



******** ZAP 055 ******** 11/19/81 ******** V2M1 ******** 

Optional zap to DOS to allow the PATCH LC keyboard modification to work with 
NEWDOS/80 Version 2. 

SYS0/SYS,02,34 change 

2E 36 01 01 38 16 FF 0A 5F AE 73 A3 

20 0D 7A C6 08 57 2C CB 01 F2 4A 45 AF 18 OF 5F 
to 

2E 35 01 80 38 16 F7 7A C6 08 57 2C 

CB 01 0A 5F AF CB 79 20 15 7B AE 73 A3 28 EC 5F 



******** ZAP 056 ******** 11/29/81 ******** V2M1 ******** 

Mandatory zap to DOS to allow COPY with CBF option to allocate space on Model 
III TRSD0S diskettes beyond track 23. 

SYS6/SYS,25,F0 change CD B2 4C DD to CD F2 5C DD 



13-26 ZAPS (PATCHES) 



SYS6/SYS,15,BC change 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 to 

DD CB 02 6E 28 04 DD CB 07 46 CA B2 4C 3E 03 C3 B4 4C 



******** ZAP 057 ******** 11/29/81 ******** V2M1 ******** 

Mandatory zap to DOS to correct directory errors created during format 5 COPY 
Vtien copying to a destination diskette that is to contain more granules than 
t^he source diskette and when the source diskette has less than 61H (97 decimal) 
lumps and the destination diskette is to have more than 60H (96 decimal) lumps. 
In NEWDOS/80 Version 2, in order to allow a maximum of C0H (192 decimal) lumps 
in the granule allocation table, that table (normally in 00 -5F of the GAT 
sector) expands into and supercedes the granule lockout table (normally in 60 
-BF of the GAT sector. This error was leaving the GAT granule lockout table in 
existence in the destination directory (remember, it is transferred over from 
the source diskette in format 5 COPY) when it should have been done away with 
to make room for the expanded granule allocation table. The error is immedi- 
ately detectable by DIRCHECK after the format 5 COPY by the presence of one or 
more BAD "GAT" SECTOR BYTE errors. Otherwise, the error is not seen until 
TRACK # TOO HIGH error occurs when writing to the diskette and a granule beyond 
those allowed for the diskette is erroneously allocated; the file getting the 
error will NOT have had its EOF increased to include the erroneous sector. 
DIRCHECK will, in addition to the GAD "GAT" SECTOR BYTE errors, then display 
EXTENT SPACE OVERFLOWS DISKETTE for that file, but since EOF does not include 
that bad granule, single file COPY or format 6 COPY will still be able to copy 
the file. Therefore, any bad diskettes should be recoverable by using a format 
6 COPY with FMT option to copy the contents of the bad diskette onto another 
diskette. You can then use either format 5 or 6 COPY with FMT option to copy 
it back. 

This zap is large as part of SYS6/SYS is being moved to SYS17/SYS to make more 
patch area available in SYS6/SYS. 

SYS6/SYS,07,79 change 52 CD 35 55 ED to 52 C3 1C 50 ED 

SYS6/SYS,21,85 change 3E E6 28 to 3E F3 28 

SYS17/SYS,00,0C change 2A C2 81 4E 78 to 2A CO 00 00 78 

SYS17/SYS,03,2C through 9E was all zeroes, change to 

CD 35 55 ED 
5B CI 59 CD 84 57 ED 4B 94 59 CB 49 20 5E CD F9 
56 IE 61 3A C6 59 BB 38 0E 3A B8 59 BB 30 08 ID 
6B 36 FF ID 23 20 FA CB 68 28 06 2A 81 59 22 CE 
42 79 E6 0C 01 10 00 11 DO 42 21 83 59 20 07 21 
8B 59 IE D8 0E 08 ED B0 2A Dl 59 ED 5B C3 59 B7 
ED 52 EB 38 11 28 OF 2A C3 59 3A BC 59 CD B4 4C 
26 42 4F CD 62 57 CD IF 49 C2 CB 54 C3 2D 55 



ZAPS (PATCHES) 13-27 



******** ZAP Q58 ******** 12/01/81 ******** V2M1 ******** 

Mandatory zap to LMOFFSET to correct error occuring when a object code block's 
load point is in the range 3FO0 to 3FFFH. 

LM0FFSET/CMD,01,36 change 78 05 85 to 78 3D 85 

******** zap 059 ******** 12/28/81 ******** V2M1 ******** 

Mandatory zap to correct 3 bytes wrong in ZAP 054 (EDTASM), if not already 
corrected. The entire correct zap is given here. The corrections are to 
change to two occurrences of EB in the 1st part to 03 and the occurrence of 30 
in the 2nd part to 31. 

EDTASM/CMD, 27,30 change CD A9 70 03 to CD 8B 72 03 

EDTASM/ CMD, 3 1,1 2 change AA 53 36 00 El 7E to F5 CD A9 70 Fl C9 



13-27 (fc) ZAPS (PATCHES) 



******** ZAP 060 ******** 12/28/81 ******** V2M1 ******** 

Mandatory zap to DOS to eliminate disk status register read for all interrupts 
except the disk I/O (taking NEWDOS/80 back to the original TRSDOS way). 
NEWDOS/80 read the status on every interrupt in order to eliminate some code in 
the eternal quest to make more space available in SYSO. This worked fine until 
CPU speed up hardware modifications were devised that shift the CPU to slow 
speed for a number of milliseconds each time the status register was accessed. 
With NEWDOS/80 reading the status register every 25 ms , the CPU was spending 
most of its time at the slow speed if the user was using high speed and had set 
the switch enabling low speed to be temporarily switched. Most users just let 
the computer run always at the high speed and there was no problem; however, 
the 5MHZ speed is verymarginal in supporting I/O thus requiring the slowdown. 
This zap does not eliminate other status reads done by NEWDOS/80 (such as to 
keep drives rotating if they are already rotating). This zap should eliminate 
most of the CPU slowdowns that were occuring. This zap was long delayed as it 
uses 7 of the last 10 zap bytes available in SYSO. 

SYS0/SYS,00,33 change 

00 00 00 00 00 00 00 to F5 07 DC E8 47 Fl C9 

SYSO/SYS,02,E7 change 

3A EC 37 3A E0 37 01 00 FC 45 07 DC to 

3A E0 37 07 CD 53 01 00 FC 45 40 DC 



******** ZAP 061 ******** 12/28/81 ******** V 2Ml ******** 

Optional zap to DOS to cause DIR to actually read ENTER and BREAX from the 
keyboard rather than just look at the keyboard matrix. This zap allows BREAK 
to work for that function only if the BREAK key is enabled. This zap allows 
remote terminal operators of NEWDOS/80 to perform the DIR function when more 
than one displaypage will be involved. NEWDOS/80 was not designed to be run 
from remote terminals and at many places in its code looks directly at the 
keyboard matrix rather than actually accepting an input key when looking for 
BREAK, ENTER, UP or RIGHT ARROW. This zap changes only one of these 
situations, but a number of users have said they would be happy with that. 

SYS8/SYS,02,94 change 0A 16 OF CD 6B 50 CB to 0A CD 6B 50 16 OF CB 

SYS8/SYS,03,8A change 

50 3A 40 38 E6 05 28 F9 OF D2 2D 40 3E . to 

50 CD 49 00 3D CA 2D 40 FE 0C 20 F5 3E 



******** Z AP 062 ******** 01/12/82 ******** V2M1 ******** 

Mandatory zap to DOS force the 4445H call to DOS (back up one record) to set 
bit 6 of the FCB 2nd byte (disables EOF truncation). 

SYSO/SYS,08,77 change 38 31 2B 18 ID CD to 38 10 2B 18 0D CD 



ZAPS (PATCHES) 13-28 



******** ZAP 063 ******** 01/18/82 ******** V2M1 ******** 
Information zap. 

1. NEWDOS/80 V2 BASIC functions LOAD, RUN and MERGE implicitly require that 
the text file being read be already in ascending sorted line number order 
whereas NEWDOS/80 Version 1, NEWDOS/21, TRSDOS, VTOS , LDOS , DOSPLUS and the 
other. DOS's do not. Normally, the BASIC program files are in sorted line 
number order; so this difference was not noticed for some time into Version 2's 
release. Some user6 prefer to create text files in random line number order, 
relying on the implicit sort (not in NEWDOS/80 V2 ) done during LOAD, MERGE or 
RUN to sort the lines. These users must find some way of pre-sorting the text 
files, and since leading zeroes are suppressed from line numbers (causing line 
5000 to sort before line 51), normal sorts won't work. The following sort 
program (known as CODESORT/BAS) will perform the sort, sorting the input text 
file into a different output text file. 

10 CLEAR 2000: DEFINT A-Z: NR=0 

20 PRINT"FILESPEC OF BASIC PROGRAM TO BE SORTED?": LINEINPUT FS$ 

30 0PEN n I u ,l,FS$: BC!=L0C(1)Z 

40 IF E0F(1)=0 THEN NR=NR+1 : LINEINPUT #1,A$: GOTO 40 

50 A$= ,m : CLOSE 

60 DIM CD$(NR), IX(NR), SN(NR): CMD"F=SASZ",BC!-NR+200 

70 0PEN"I n ,l,FS$: X*l : K=l 

80 IF X>NR THEN 170 

90 LINEINPUT #1,CD$(X): Y=LEN(CD$(X)) : Z=l : W=0 : SN!=0: K=K+1 

100 IFY=0 THEN 160 

110 IF Z>Y THEN 130 ELSE J=ASC(MID$(CD$(X) ,Z,1 ) ) : Z=Z+1 : IF J=32 THEN 110 

120 IF J>=48 AND J<58 THEN W=W+1 : SN !=10*SN I+J-48: GOTO 110 

130 IF W>0 AND SNK65530 THEN SN(X)«SN!-32768: X=X+1 : GOTO 80 

140 PRINT K;"TH LINE HAS BAD OR MISSING LINE NUMBER. BYPASS IT? (Y/N) "; 

145 INPUT AS 

150 IF A$="N" THEN END ELSE IF A$<> H Y" THEN INPUT"BAD REPLY";A$: GOTO 150 

160 NR=NR-1: GOTO 80 

170 CLOSE: IF NR=0 THEN PRINT"NO RECORDS TO SORT": END 

180 CMD"0",NR,*IX(1),SN(1) 

190 PRINT"S0RTED OUTPUT FILESPEC? ";: LINEINPUT FS$ 

200 OPEN*'0 n ,l,FS$ 

210 FOR X=l TO NR: PRINT #1 ,CD$(IX(X)) : NEXT 

220 CLOSE: PRINT"DONE":END 



2. In BASIC, RENUM does not renumber the CMD"F", DELETE statement properly. No 
zap will be issued to correct this. 

3. The manual failed to inform programmers building programs to be executed 
that the command keyword or program name (filespec) is the first parameter of 
each DOS command and that, on entry to that program or DOS command function, 
register HL points to the parameters following the program name (filespec) in 
the DOS command statement that invoked the program. Examples: 

1. XXXXXX This DOS command causes user program XXXXXX/CMD to be 
loaded from whichever drive it is found on into memory and program 

13-29 ZAPS (PATCHES) 



execution commenced at its entry location. At that time, register HL 
points to the EOL character (ODH) since there are no parameters following 
the program's filespec. Note, in absence of a name-extension for the 
filespec XXXXXX, /CMD was substituted. Also, since no drive number was 
given, the drives were searched, starting with the drive 0, looking for 
the first occurrence of XXXXXX/CMD. 

2. YYYY/0BJ:1,5,JJJ:1 This DOS command causes user program YYYY/0BJ:1 
to be loaded into main memory from drive 1 and program execution commences 
at its entry location. At this time, register HL points the character 5 
in the above command, as this is the first character of the first 
parameter following the program filespec. The user program may 
interrogate the parameter(s) with the EOL character (ODH) indicating the 
end of parameters. 

3. ZZZ,Y,N,MYFILE This DOS command causes user program ZZZ/CMD to be 
loaded into main memory and execution started at its entry location with 
HL pointing to the character Y 

3. A number of users have asked why NEWDOS/80 Version 2 lacks features that 
other DOS's have. For the most part and for obscure reasons, we just elected 
to exclude them, but in many cases the main problem is that sufficient resident 
main memory space or overlay main memory space or both is not available. 

1. In the DOS main memory region, 4000H thru 51FFH, NEWDOS/80 has 256 
bytes less resident (always in memory) code/data than other DOS's have as 
it uses this 256 bytes to make the DOS overlay programs (i.e., SYSl/SYS) 
bigger. 

2. Some DOS's have taken part of their resident code/data into high 
memory in order to gain more resident memory for DOS. For NEWDOS/80 
Version 2, it was decided to remain out of high main memory, with the 
exception of the spooler, which was already there. 

3. NEWDOS/80 has MINI-DOS which most other DOS's do not. This means that 
most of the DOS commands (DIR, FREE, LOAD, etc.) that execute in the 5200H 
thru 6FFFH region of main memory (and may call overlay routines that 
execute in the 4E00H thru 51FFH region) in other DOS's. must execute in 
NEWDOS/80 entirely within the 4D00-51FFH DOS overlay region. This 
complicates the effort to extend the capabilities of any given DOS 
command . 

4. A number of users have asked why SETCOM and FORMS were not included in 
Version 2 for the Model I like they were for the Model III. The author's 
excuses, weak as they are, are as follows: 

1. For FORMS, of the two parameters, only LINES could have been 
accommodated as that is all the Model I ROM printer routine (used by 
NEWDOS/80) allows for. Most users that had to change the lines-per-page 
value at 4018H (16424 decimal) were already doing so, either via the POKE 
function of BASIC or the M function of DEBUG. 

2. For SETCOM, this command changes the parameters in 3 control blocks 
for the RS-232C interface. NEWDOS/80 VI and V2 for the Model I have no 

ZAPS (PATCHES) 13-30 



main memory allocated for these three control blocks, and the Model I ROM 

does not have some of the routines used to change these control blocks, 

whereas the Model III does. Lastly, many excellent widely used RS-232C 

programs were already in existence handling the interface quite well 
without NEWDOS/80. 

5. A number of users have asked why DIRECTORY READ ERROR or DIRECTORY WRITE 
ERROR appear as the DOS error message when an error occurs with a directory 
sector. Why not display the regular error code? We did this in order that 
normal file processing, the user would know that the directory, rather than 
his/her file, was the source of the error. At the time the error code 
substitution takes place, the system does not know whether or not the directory 
I/O was subsidiary to file I/O. We do apologize for the confusion created when 
the directory I/O was the main I/O (i.e., in DIR, FREE, etc.). The user can go 
to SUPERZAP and step through the directory (via DD, DTS or DFS (on DIR/SYS) to 
determine which sector is bad and what is the actual complaint. VDS mode can 
also be used. 



6. LNW-80 users should be aware that that computer does not use the Z-80 
instruction HALT to trigger the computers RESET line as does the TRS-80 Model 
I. Therefore, the BOOT DOS command and any other program that uses the Z-80 
HALT instruction to RESET the computer will simply stop execution, which is 
what the normal Z-80 HALT instruction^ does . The user will have to actually 
press the RESET keys. 



******** ikS 064 ******** 02/15/82 ******** V2M1 ******** 

Mandatory zap to DOS to cause 'the /./5Y function of chaining (see page 4-11) to 
properly exit the current DOS-CALL level, if any, under certain circumstances 
where it was not. This problem can also be avoided by using CHN0N,Y instead of 
/./5Y if DOS is awaiting its next command at that DOS level. 

SYS9/SYS,01,97 change 43 B7 20 06 CB to 43 CD 3A 51 CB 

SYS9/SYS,04,4E change 

00 00 00 00 00 00 00 00 00 00 00 00 00 to 

B7 C2 99 4E 78 E6 50 FE 40 CA 2D 40 C9 



******** ZAP 065 ******** 02/15/82 ******** V2M1 ******** 
Information zap. 

1. When COPY format 6 (CBF) is used to copy a system diskette and the system 
files are to be copied, the FMT parameter MUST be specif ied! J ! I On page 2-14, 

last paragraph, is stated "If NFMT is specified, system files are not 

copied unless already existent in the destination file directory.". This is 
not true; if NFMT is specified or implied, the files are copied, but (1) 
SYS0/SYS will usually be in the wrong position causing BOOT to fail and (2) 
other system files may be in the wrong directory slots, eventually causing even 
worse trouble. 

13-31 ZAPS (PATCHES) 



2. Some users have had GAT OVERFLOW error occur when using CBF with FMT to 
copy a system diskette. . The system files SYS1/SYS through SYS21/SYS on a 
system diskette are positioned near the directory, some file above and some 
below, to enhance system efficiency. During the CBF COPY, the each system file 
is assigned space on the destination diskette in the same position relative to 
the directory as on the source diskette, and if that position is beyond either 
end of the diskette, GAT OVERFLOW error occurs. The solution to the problem is 
to cause the directory to be positioned nearer the center of the diskette. Two 
of the destination diskette's PDRIVE parameters are involved in the directory 
positioning: GPL and DDSL. Compute the number of lumps on the diskette and 
compare against DDSL to determine which end of the diskette the directory is 
too close to. You can take one of three actions to cause the directory to move 
closer to the diskette center: (1) change the DDSL value, (2) decrease the GPL 
value if the directory was too near the end of the diskette, or (3) increase 
the GPL value if the directory was too near track 0. 

3. A number of users have complained that the LIST and PRINT commands do not 
allow for graphic characters. This was done so purposely as the intent with 
both LIST and PRINT was to provide a rudimentary, emergency method of listing 
or printing regular text files (files whose printable characters are between 
20H and 7FH ASCII or that modulate to those values). These two commands were 
seldom used in NEWD0S+ or NEWDOS/80 Version 1, and we have been surprised by 
the increased useage in Version 2. For a subsequent release of NEWDOS80, we 
will try to add more capabilities to allow for graphics, but for now we simply 
apologize that the capability is not there. 

A. For Model I users having CPU speed up modification installed that find that 
NEWDOS/80 Version 2 fails in double density I/O (or single density 8") where 
NEWDOS/80 Version 1 (using someone else's double density patches) worked, the 
user should ask the purveyor whether the speed up modification, when set to 
normal speed, actually causes the CPU to run slower than the standard Model I 
speed of 1.772 MHZ. Some of the earlier speed up mods did, and NEWDOS/80 
Version 2 cannot tolerate any slowdown below 1.772 MHZ. 

******** ZAP ,066 ******** 03/16/82 ******** V2M1 ******** 

Mandatory zap to BASIC to correct error in dynamic MERGE occuring when the old 
text has lines within the range of the merging text (though not matching line 
numbers, which is not allowed). This is an unusual condition but nevertheless 
legal. This error was causing string variables whose strings are in the -text 
area to not be properly repointed into the resulting text. 

SYS19/SYS,00,DA change C5 21 3E 54 22 to C5 CD 20 56 22 

SYS19/SYS,02,9D change CI Dl El C9 2A to CI C3 2A 56 2A 

SYS19/SYS,02,E2 change CD F2 54 CD to CD 38 56 CD 

SYS19/SYS,03,76 change 

00 ED 52 38 2E 21 00 00 ED 52 30 27 AF to 

ZAPS (PATCHES) 13-32 



00 00 CD 41 56 21 00 00 09 CD 49 56 AF 

SYS19/SYS,04,34 change 

0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 00 

to 

2100 0022 4256 213E 54C9 2A42 
56ED 5B7A 5519 2242 56D1 E1C9 474F ED43 
4256 C3F2 5401 0000 09ED 5218 03ED 523F 
D0F1 C399 55 

******** ZAP 067 ******** 03/25/82 ******** V2M1 ******** 

Mandatory zap to allow the TRSDOS 1.2 Model III VISICALC Version VC-150Y0-T83 
to operate with Model I NEWDOS/80 Version 2. The 1st zap disables VISICALC s 
directory search feature. The 2nd and 3rd zaps insert the Model I HIMEM value. 
The 4th and 5th zaps disable the disabling of the Model III abort-on-BREAK 
RS-232 function which is not available on the Model I. The 6th zap performs a 
Model I check for the BREAK key. The 7th, 8th and 9th zaps disable VISICALC s 
direct printer interface (command /PR) with the RS-232 serial port which is not 
available on the Model I (the user may still use his/her own driver that takes 
/PP parallel printer output to the RS-232). 

The directory search capability of VISICALC is disabled as NEWDOS/80 does not 
have the RAMDIR facility that Model III TRSDOS does. However, it is possible 
to use MINI-DOS to search the directory by (1) typing in the /SL command, (2) 
pressing DFG to enter MINI-DOS, (3) perform the MINI-DOS functions, (4) clear 
the display, (5) exit from MINI-DOS, (6) back in VISICALC, press three or more 
CLEARS to clear the command state, (7) execution one of the /T commands to 
restore the VISICALC display. 

VC/CMD,86,CA change E5 CD 90 42 FD to E5 3E 08 B7 FD 

VC/CMD,00,1E change 2A 11 44 7D to 2A 49 40 7D 

VC/CMD,00,AA V change 2A 11 44 11 to 2A 49 40 11 

VC/CMD,84,CB change C9 32 03 42 CD to C9 00 00 00 CD 

VC/CMD,85,25 change C9 32 03 42 CD to C9 00 00 00 CD 

VC/CMD,83,9D change 

F5 C5 D5 E5 CD 8D 02 28 0A CD 2D A4 El Dl CI Fl to 

F5 3A 40 38 E6 04 CC 35 A4 C4 2D A4 28 0B 00 Fl 

VC/CMD.84.C2 change E5 CD 5A 00 to E5 00 00 00 

VC/CMD,85,05 change E5 CD 55 00 to E5 00 00 00 

VC/CMD,84,BB change FF 32 FA 41 DD to FF 00 00 00 DD 



13-33 ZAPS (PATCHES) 



******** ZAP 068 ******** 04/13/82 ******** V2M1 ******** 

Mandatory zap to DOS to correct an error in CREATE whereby the old file's (not 
the new) EOF was not being set - when REC=0 parameter spec'ed or defaulted 
to. 

SYS14/SYS,02,FE change 28 47 to 28 41 



******** ZAP 069 ******** 04/13/82 ******** V2M1 ******** 

Mandatory zap to DOS to correct error in the DMDB function of SUPERZAP where 
the F, function was not displaying the correct dump location. 

SUPERZAP/CMD.05,12 change 03 3A B2 54 CD to 03 CD 14 52 CD 

SUPERZAP/CMD f 00,18 change 00 00 00 00 00 00 to 3A B3 54 67 18 F6 



******** ZAP 071 ******** 05/04/82 ******** V2M1 ******** 

Mandatory zap to VISICALC Version VC-160Y0-T83 for Model III TRSD0S 1.3 to 
operate with Model I NEWD0S/80 Version 2. Refer to ZAP 067 as this zap 
performs the same functions as that zap did for the TRSDOS 1.2 version. 

VC/CMD,86,EB change E5 CD 90 42 FD to E5 3E 08 B7 FD 

VC/CMD,00,1E change 2A 11 44 7D to 2A 49 40 7D 

VC/CMD,00,B5 change 2A Jl 44 11 to 2A 49 40 11 

VC/CMD,84,EF change C9 32 03 42 CD to C9 00 00 00 CD 

VC/CMD,85,46 change C9 32 03 42 CD to C9 00 00 00 CD 

VC/CMD,83,BB change 

F5 C5 D5 E5 CD 8D 02 28 0A CD 4B A4 El Dl CI Fl to 

F5 3A 40 38 E6 04 CC 53 A4 C4 4B A4 28 0B 00 Fl 

VC/CMD,84,E6 change E5 CD 5A 00 to E5 00 00 00 

VC/CMD,85,26 change E5 CD 55 00 to E5 00 00 00 

VC/CMD,84,DF change FF 32 FA 41 DD to FF 00 00 00 DD 

******** ZAP 072 ******** 05/04/82 ******** V2M1 ******** 

Information zap on Model III TRSDOS diskettes. 

Despite explicit and implicit statements in the manual and the zaps, users 
continue to think that Model III TRSDOS type diskette are directly useable with 

ZAPS (PATCHES) 13-34 



NEWDOS/80 Version 2. NEWDOS/80 Version 2, with two exceptions, CANNOT, repeat, 
CANNOT operate with TRSDOS Model III system or data diskettes. Please believe 
us; this is soil!! DO NOT ATTEMPT to use Model III type diskettes (data or 
system) with NEWDOS/80 except for the special conditions of COPY and SUPERZAP 
wherein PDRIVE TI flag M is used! 1 ! 1 I I If you must use the DIR command to 
determine what is on a Model III TRSDOS type diskette, do so under TRSDOS, not 
NEWDOS. 

The directory for Model III TRSDOS system and data diskettes i6 markedly 
different from the directory used on Model I TRSDOS 2.3 and all NEWDOS 
diskettes. For NEWDOS/80 Version 2 on the Model III, Apparat elected to remain 
with the old style directory so that data diskettes (once the address mark had 
been adjusted; see WRDIRP command and SYSTEM option BN) could be used 
interchangeably between the Model I and Model III under NEWDOS/80 Version 2 on 
both computers. 

Realizing that data files and some program files must be transferable between 
TRSDOS Model III type diskettes and NEWDOS/80 Version 2 type diskettes, 
NEWDOS/80 *s COPY command, formats 1-4 and 6, allow, via special PDRIVE 
conditions, files to be copied from a Model III TRSDOS type diskette to a 
NEWDOS/80 Version 2 type diskette and from a NEWDOS/80 Version 2 type diskette 
to a Model III type diskette (note, COPY formats 1 and 2 filespecs for Model 
III TRSDOS files must have an explicit drive number). The special PDRIVE state 
is given in PDRIVE, example 3, page 2-38, and provides only for Model III 
TRSDOS type diskettes that are single sided, double density, 40 track. On your 
master Model III NEWDOS/80 system diskette, PDRIVE display slot # 4 was 
initialized to the correct value to use with these Model III TRSDOS 1.3 type 
diskettes (see zap 013 for TRSDOS 1.2 or 1.1 diskettes; see zap 031 for Model I 
TRSDOS 2.3B diskettes). For the remainder of this discussion, we will assume 
PDRIVE specification 4 contains the following values: 

TI=xM;TD=E,TC=40,SPT=18,TSR=3,GPL=6,DDSL=17,DDGA=2 

where x is C for PERCOM type double density interface and E for LNW 
type interface. 
There are many variations available for copying to/from Model III TRSDOS 
diskettes which the more experienced NEWDOS user will adapt for his/her own 
uses. The following examples are to get the novice through the first anxious 
moments. In each example, drive is assumed a double density drive. 

1. To copy file XXX/DAT from a Model HI TRSDOS type diskette to a 
preformated NEWDOS/80 Version 2 diskette, the following command will work: 

COPY, XXX/DAT:0, XXX/DAT: 1,SPDN=4 
NEWDOS/80 will ask for the mount of the source diskette (the Model HI 
TRSDOS type diskette) and the system diskette (the NEWDOS/80 system 
diskette) on drive as necessary. 

2. To copy multiple files from a Model HI TRSDOS type diskette to a 
previously formatted NEWDOS/80 type diskette, the following command will 
work: 

C0PY,0,1,,NFMT,CBF,CFW0,SPDN=4 
NEWDOS/80 will ask for the mount of the source diskette (the Model III 
TRSDOS type diskette) and the system diskette (the NEWDOS/80 system 
diskette) on drive as necessary. The user will be asked, one file at a 
time, which files are to be copied, except that files marked as system 
files are excluded automatically from the copy. To copy a system file, 

13-35 ZAPS (PATCHES) 



use the single file copy example above, 

3. To copy file XXX/DAT from a NEWDOS/80 Version 2 diskette to Model III 
TRSDOS diskette, the following command will work: 

COPY,XXX/DAT:1,XXX/DAT:0,DPDN=4 
NEWDOS/80 will ask for the mount of the destination diskette (the Model 
III TRSDOS type diskette) and the system diskette (the NEWDOS/80 system 
diskette) on drive as necessary. 

4. To copy multiple files from a NEWDOS/80 type diskette to a previously 
formatted (under TRSDOS) Model III TRSDOS type diskette, the following 
command will work: 

COPY, 1,0, ,NFMT,CBF,CFW0,DPDN=4 
NEWDOS/80 will ask for the mount of the destination diskette (the Model 
III TRSDOS type diskette) and the system diskette (the NEWDOS/80 system 
diskette) on drive as necessary. The operator will be asked, one file 
at a time, to select which files are to be copied, excepting that any 
files marked as system files are automatically excluded from the copy. To 
copy a system file, use the single file copy example given above. 

NEWDOS/80 Version 2 does not provide a method of copying to/from DOS ' s other 
than itself and TRSDOS. It is our intention that the TRSDOS diskette remain 
the common media for moving data between non-TRSDOS DOS ' s which is why we took 
the extra trouble to be able to copy TO a Model III TRSDOS diskette. 

For the experienced user, SUPERZAP modes DD and DTS can be used to inspect 
Model III TRSDOS type diskettes provided the PDRIVE specifications are set 
correctly. The command 

PDRIVE, 0,1=4, A 
will activate the drive #4 specifications as drive tfl's specifications, thus 
allowing SUPERZAP to inspect a Model III TRSDOS type diskette on drive 1. When 
done, don't forget to change the PDRIVE specifications for drive 1 back. The 
Model III TRSDOS directory is'l8 sectors long, starting at relative sector 306; 
remember, the directory format is different than that for NEv*?DOS/80. 



******** zap 073 ******** 05/04/82 ******** V2M1 ******** 

Information ^zap on Model I TRSDOS 2.3B and higher diskettes. Refer also to ZAP 
031. 

Some time ago Radio Shack announced a double density modification to the Model 
I TRSDOS. To date, this modification is not available and Apparat does not 
know what zaps will have to be issued to operate with the new Model I TRSDOS 
2.3B or higher double density diskettes. We assume that the new Model I TRSDOS 
will continue with the implementation of RBA format in the FCBs and the 
directories (which make the new TRSDOS diskettes incompatible with the old 
TRSDOS and with NEWDOS diskettes), and that like Model III TRSDOS diskettes, 
the new Model I TRSDOS diskettes will useable with NEWDOS/80 Version 2 only 
with COPY and SUPERZAP (see above zap) when the PDRlVE setting includes TI flag 
M. However, for now, use of flag M does not allow access to Model I TRSDOS 
double density diskettes as a TD code for double density implies Model III. 



ZAFS (PATCHES) 13-36 



******** ZAP 073 ******** 05/04/82 ******** V2M1 ******** 

V— -^ Information zap on Model I TRSDOS 2.3B and higher diskettes. Refer also to ZAP 
031. 

Some time ago Radio Shack announced a double density modification to the Model 
I TRSDOS. To date, this modification is not available and Apparat does not 
know what zaps will have to be issued to operate with the new Model I TRSDOS 
2.3B or higher double density diskettes. We assume that the new Model I TRSDOS 
will continue with the implementation of RBA format in the FCBs and the 
directories (which make the new TRSDOS diskettes incompatible with the old 
TRSDOS and with NEWDOS diskettes), and that like Model III TRSDOS diskettes, 
the new Model I TRSDOS diskettes will useable with NEWDOS/80 Version 2 only 
with COPY and SUPERZAP (see above zap) when the PDRIVE setting includes TI flag 
M. However, for now, use of flag M does not allow access to Model I TRSDOS 
double density diskettes as a TD code for double density implies Model III. 



******** zap 074 ******** 05/12/82 ******** V2M1 ******** 

Mandatory zap to CHAINBLD/BAS to eliminate an unintended and non-displayed 
CLEAR character that causes trouble during PRINT of an ASCII copy of the 
program. This character is non-displayed but is the character in text 
immediately following the GOSUB36 of line 92. Load the program under BASIC, 
delete the character, and SAVE the CHAINBLD/BAS file back. Line 92 should 
display exactly the same after the character delete as before. 



( 



******** ZAP 075 ******** 05/12/82 ******** V2M1 ******** 

Mandatory zap to BASIC to corredt memory-wipe-out error caused in certain 
circumstances by a REF- statement containing a * character. The actual error 
is at 1A8B - 90 in the ROM and can be triggered in non-disk BASIC by keying in 

twice the direct command sss' where sss is three spaces. By making a change to 
NEWDOS/80' s BASIC, the problem with REF is avoided. 

SYS18/STS,02,1A change 

36 20 23 DF 38 FA 2B 36 FF 18 39 EB to 

36 FF 23 DF 30 3E 36 20 23 18 F8 EB 



******** ZAP 076 ******** 06/18/82 ******** V2M1 ******** 

Mandatory zap to DOS to allow NEWDOS/80 to run with the Radio Shack double 
density modification. This zap does NOT enable NEWDOS/80 to operate with Model 
I TRSDOS 2.7DD double density diskettes (see ZAP 078). PDRIVE TI flag D is 
hereby activated (please note this in the margin on page 2-34) for the Model I 

13-37 ZAPS (PATCHES) 



for^hi.'^f" Sh " Ck d ° Uble denSit r "terface, and all PDRIVE specification 
ror this interface must use TI flaa A /%- n e~ • i . * WRJ - Y * specincations 

flag D for double density diskette rt a ' ^ 6 ""^ diske " e « "<• " 
must be specified (with TC «duc d'by " ?' ° 3A "^ * d0U "?/"« i ^- "■" 
LNW and Omikron double density interfaces ft',\lt'J1,'-, r ? 9>) ' Tbm PerCom ' 
precompensation a. does the Radio SWk !„» V c* 1 * d ° n0t U8e write 
resident DOS patch area to \ltth il t «*«*•«• Since there is not enough 
diskette interchangeability Cith " P"?"^""'"" and still retain system 

I mandatory zap, but'has'be n incL^Yo^Tza^TTb'r M" ° Ut ° f thU 
J zapped NEWDOS/80 system disked. „,;.► optional zap 077 below wherein the 

d or with the Radio Shlck DD interfac" ' '"" """ " unmodified interface 

^rnh. c T"! , d«b , j:rrr.l^"%w^ n r,t ' r ith , a different i/o int « fa ~ 

format 5 or 6 COPY with FM^ palter specified!" d " kette "" " eated "* 

******** *r>j c | w . . 

meaning th.t U D i. "cifz^™'""^ e f Clu8ive wi «> "•«• B. C and E 

drive's specification may contain E^""-" S P ecificati °". «»•* no other 

INCOMPATIBLE" error wilt be g "en if tltl* I V- "' "* SPEC BETWEEN DRIVES 
violated, requesting tw L i? * lnterd "ve mutual exclusion is 

of TI flags T C Tor E is 1 * " ?. *" iOUS PDRIVE s P ecs »"" "«>" one 
gs B. C, D or E is represented m the various PDRIVE specifications? 

^T^f^-il^.™-;"".^ ^e computer with PDRIVE showing an 
boot. ' initialization routines will simply refuse to 

SYS6/SYS,07,7D change 

FD SRP1 

59CD 8457 ED4B 9459 CB49 2047 CDF9 56CB 
6828 062A 8159 22CE 42 
to 

DD4E 06DD 7E02 E61C FE08 C079 EE20 DD77 
06C9 DD71 06DD 7307 C9 

SYS6/SYS,27,C1 change 07 DD 56 04 DD to 07 CD D7 54 DD 

SYS6/SYS,27,CD change 

'I « CD tl 11 °r 3 r ?> £ " D1 ° D E3 F5 DD 73 ° 7 ™> to 
01 C5 CD 59 69 CC AA 67 CI Dl DD E3 F5 CD EC 54 DD 

SYS16/SYS.00.D6 change 05 7B 07 F6 FC 57 DD to 05 16 80 CD 95 51 DD 

SYS16/SYS,02,56 change E6 68 CO to E6 60 CO 

SYS16/SYS,02,6A change 20 ID CB to 20 10 CB 

SYS16/SYS,04,A9 change 00 00 00 00 00 00 to CB 43 CO 16 A0 C9 



ZAPS (PATCHES) 



13-38 



( 



( 



******** ZAP 077 ******** 06/18/82 ******** V2M1 ******** 

Optional zap to DOS to enable the Radio Shack double density write 
precompensation logic. When this zap is applied, the system diskette must only 
be used with either an expansion interface that has not been modified for disk 
double density or 8 inch drives or has been modified for the Radio Shack double 
density disk I/O. Once the diskette is modified, indicate on its label that 
this zap is installed. 

SYS0/SYS,01,4O change 

EF 00 00 00 3E 2A 18 AE C3 to EF 32 EE 37 C3 67 47 00 C3 

SYS0/SYS,01,62 change 

EF 00 00 00 00 00 00 18 D9 AF to EF 3E CO 30 DA 3E E0 18 D6 AF 

SYS0/SYS,03,9A change CD 67 47 to CD B3 47 

SYS0/SYS,04,A9 change 

5E F3 3A 11 43 F6 FE 77 36 DO FB 23 to 

5E 18 08 3A 0D 43 OF BA C3 76 44 23 

SYS6/SYS,29,5F change CD 67 47 to CD B3 47 



******** zap 078 ******** 06/18/82 ******** V2M1 ******** 

Optional zap to allow COPY formats 1, 2, 3, 4 and 6 to copy files from or to 
Model I TRSDOS 2.7DD double density diskettes when the PDRIVE for that diskette 
is: 

TI«xM,TD»E,TC-tc,SPT-18,TSR*3,GPL«6,DDSL«dt,DDGA«2 
where : 

x ■ C for Percom type double density modification, D for Radio Shack type 

modification and E for LNW type modification. 

tc - diskette track count, 35, 40 or whatever. This track count includes 

the single density track 0. 

dt ■ the directory track number (the standard is 17). NEWDOS/80 must be 

given the correct value as it does not obtain the value from the 

diskette's boot sector in the single density track 0. 
See example 3, page 2-38. If ZAP 013 is applied to the diskette receiving this 
zap, ZAP 013 must be taken out before this zap is applied. Once this zap has 
been applied, the zapped diskette cannot be used to copy to/from Model III 
TRSDOS diskettes or to/from Model I TRSDOS 2.3B diskettes; this zap should only 
be applied to a special NEWDOS/80 system diskette whose sole function is to be 
used when copying files to/from Model I TRSDOS 2.7DD double density diskettes. 

A Model I TRSDOS 2.7DD double density diskette cannot be formatted by 
NEWDOS/80, and it cannot be format 5 copied by NEWDOS/80, not even via the BDU 
option. Further, remember, format 6 (CBF) COPY does not copy system files 
to/from TRSDOS diskettes; formats 1 through 4 do, however. 

Users must be aware that Model I TRSDOS 2.7DD double density diskettes are 

13-3 9 ZAPS (PATCHES) 



written with track in sin.i. a ■ 

the directory infc™.^- Slngle density and all other t-,.,.1, • , 

information LfST.'rr" tr * Ck ° " in ^1 ^ dene it v" t°f U ^"^ 
diskette, to BOOT. . fil.Vw " ector - »°te, that track ,"* ??* C ° Unts its 
»'. fUe that contains 10 sectors, not 18 alloc "ed on all 

"0 A3 48 01 3K BE 48 „} £ » £ «3 03 B 50 37 48 „ 4g „ ^ 

™/«™.U..7 change OI50do ' 3CD OB50 8 A5 B00 03 

8 x DU W* to 01 80 DO 

SYS6/SYS.14.76 ,k 

change 00 7B 4F 01 1A AF to 00 ,. ,„ „, 
SYS6/SYS, U.82 ,„ 5 ° ° l C9 AF 

OO^lSO^MuB^to 00 67V, 

to 00 67 50 03 36 80 23 D6 

SYS6/SYS.14.8E ,u. 

5C 12 51 01 1A 55 ,? n? 8 * 

»i 1A 55 51 04 21 EF 50 09 to 5c np „ „. 

SYS6/SYS.14.A2 ch ' " °° " 51 ° 4 21 *> 40 09 

change 00 61 4E 01 OD 60 to 00 8, a, „, 
SYS6/SYS.14.B1 ch . *' ° X 8 ° 6C 

5B 18 EF 4E 02 35 56 n^L „, 

5B 28 EF 4E 02 35 £ £ ° , 2 f « B « 01 18 72 to 

z? <*t 02 36 00 00 5C 00 72 

^'S'^-S 3A C f K 

»»*/•».".» change 3 E 05 CO to 3E 08 00 

SYS6/SYS.14 FR 

'^aii^.fB change 3e 30 rn 

s Jfi JO CD to 3 E 20 CD 

SYS6/SYS.15 21 

,13,Z1 change 06 SO 7v 

8 U0 ^ 7E to 06 80 7E 

SYS6/SYS,20,11 ehM9m ni „ 

* cnange 01 EF 5C ?■* «. 
*„„,, t0 01 CD 40 23 

SYS6/SYS, 20,97 r * a . 

' <*- ge 3E 50 20 to 3E 80 20 

******** ZAP 079 ******** 06/27/«9 ***. 

06/27/82 ******** V2m ***^^ 

Mandatory zap to DOS to 

copied (via single file InlvVt eTT ° T occu rring when a fil* • m. - 

«- than the old* £&?£> &• « W80 dfskecte'rro^ sTe^te* 

^"/SYS.05.05 ch 8 CaUed IRSD ° S 2 ' 3A > «S-«... 

« 3A u'sI'b" 08 CD h 3 a 5 n8 5% 2A t „ 

2A t0 " CD 35 55 3A 14 53 B7 C8 2A 



ZAPS (PATCHES) 



13-40 



******** ZAP 080 ******** 07/19/82 ******** V2M1 ******** 

/ : •:.:-, Mandatory zap to NEWDOS/80's ASPOOL program to correct error in the *ASP,S 
V function where the computer is forced to DOS READY after the remaining spooled 
print completes printing. Instead, the delayed completion of the function 
should simply continue the interrupted program. To make room for this 
correction, the SPOOL PURGED message is no longer displayed. To determine that 
the spooler is gone, simply execute the *ASP command asking for spooler status. 
If the response is FILE NOT IN DIRECTORY, the spooler is gone. 

ASPOOL/ MAS, 2, E8 change 

44 C2 09 44 21 8B 58 CD 67 44 C3 2D 40 01 to 

44 CI 21 08 44 B7 ED 42 C8 C3 15 55 00 01 



******** ZAP 081 ******** 08/17/82 ******** V2M1 ******** 

Mandatory zap to LMOFFSET to correct error where the first program is stored 
with a disable-DOS appendage and the second program is stored with an appendage 
that does not disable DOS. This error causes the 2nd stored program to have a 
bad appendage. 

LMOFFSET/ CMD, 00, 34 change 53 21 3E 5A CD to 53 CD 15 5D CD 

LMOFFSET/ CMD,0 9, 8F change 

00 00 00 00 00 00 00 00 00 to 3E 50 32 C3 58 21 3E 5A C9 



( 



******** ZAP 082 ******** 08/31/82 ******** V2M1 ******** 

Information zap to allow BASIC and assembler programs to set the lower case 
state with the Model I NEWDOS/80 Version 2 DOS resident code. To execute the 
equivalent of the DOS command LC,N without causing disk I/O, BASIC programs 
execute POKE 17844,0 and assembler programs store 00 into 45B4H. To execute 
the equivalent of DOS command LC,Y withou causing disk I/O, BASIC programs do 
POKE 17844,201 and assembler language programs store 0C9H into 45B4H. 
Remember, the lower case driver (see DOS command LCDVR) must be active for 
these POKEs to work. 

********* WARNING!!!!! This 17844 (45B4H) location is NEWDOS/80 Version 2 
dependent and definitely will be different in any subsequent NEWDOS/80 release. 
Users should mark this carefully in their programs. This is why we were so 
reluctant to release this information. 



******** ZAP 083 ******** 09/02/82 ******** V2M1 ******** 

Mandatory zap to Radio Shack's Model I SuperSCRIPSIT for TRSDOS 2.3 (not 2.3B 
or 2.7DD) to enable it to run with the Model I NEWDOS/80 Version 2: 



13-41 ZAPS (PATCHES) 



1. Allow the Main Menu Directory funcH n „ rn „„ t. 

directory is executed via DOS-cIL.- ™ ,fc! i° T * An aCtUal NEWD °S/80 
from that for TRSDOS. NOTE tnTm*;* dl8P , Uy " lU look d i«e«nt 

not ahow the »<D> Display dirt diSM^™ ^ f ° r the Model l d °« 

HI. but a response of 7 will taS^'it. ' 1 "" " " d ° e8 ,0r the M ° del 

dialers PaLTrr^ailaoirol'tnetr^fr 01 "J* "^ >- » it " * 
command DIR x,/Q9Q (where x is rh-f? a? 1 ™' T ° d ° this - th « °°S 
NEWD0S/80 does not have the ™* function ' Xi?'^* VU D08 -" U - " 
J directory display to appear foTduri™ £«-"u ^ US69 a ° " tra 

- document (appears after you have Sted l^T* lmCtL ° a ° that °P en « a 

This extra directory display ™ SPl?^*^ ,££« da < a >' 

This^apped SuperSC RI PSIT must only be U8ed with NEWDOS/80 ^.^ 2 ^ ^ 

but\h^TmuTbTvVc"\ful ZlnZJsT^T T "T^" " ^ 123 <*"«■«. 
likely to receive one or more of them w^L thlee ^ »• SuperSCRIPSIT is 

the control-H command (HELP) put8 th^us^s wher^DFG orf 2 V" di8pla ^ d ' u "<* 
Upon executing DOS command MDRET (to a t Jilimt i , may be P re «ed. 

DEBUG command G (to exit DEBIir k. J ° i Mini-DOS back to SuperSCRIPT) or 

the page. If HELP was not available y^nf"^? * ""^ BREAK "» '«»" to 
control-T followed by BREAK to get ^^^11 ^ LT^ V"* '° P " 8S 
use option D to display a directory; then while ttlV"' * ^ ~ iB nenu ' 

you can press DFG or 123. wARNINrmi n . pr0 8 ram « awaiting BREAK, 

Mini-DOS or DEBUG withou giv^g SuperSCRIPSIT >" ?""* t0 D ° S f "™ 
memory and close its files- thif «n h ? lt8 ChanCe to write dat * from 

tiles, this can be disastorous to your document file. 

SCRIPSIT/CMD,09,06 change 

?inn r„,„ ,.», AB4F CDF0 4AC0 2 100 4D01 
2300 CB1E 3801 04CB 1E38 0104 0D23 20F2 

°"1 2 ?9! ? 102 005B 0521 0500 d 1 6606 
04CD 5166 7D32 227E AFC9 0000 0000 noon 
0000 0000 0000 0000 0000 0000 oooS 0000 



to 



1944 C006 0411 ££ ££ »» J»« »» 

0*5 CDH 2i£ n°? 5B 231 ° F4 " 8 "™ "8 
FF32 »?i aS2' ?*?» 5166 7D2 * 2 528 023E 

0D00 522 ° 3 ° 2C 2F51 3951 

SCR17/CTL.02.3A change 

SCR17/CTL.04.AF change 8E 0Q 4g t<> ^ ^ ^ 



ZAPS (PATCHES) 

13-42 



( ******** zap 084 ******** 09/17/82 ******** V 2Ml ******** 
Information zap. 

^^."^^.'"x.'iii^r.r'to secti -j-f.~lti-dinen.xoa arrays with 
CMD"0" was intended f I'tL t °. S " tlon 7 " 21 ln »>* manual and ZAP 41.4. 

-Iti-di.ens^orarray ecu d n8 also 1 Sr:orted r i£ y t h : nly ' ""V* "" f ° Und th " a 
arrays items sorted (directly or indirect U) £„ ?7" UDderStand8 th " th * 
locations (as assigned by BAS!C during execution o V""" ?«>n.ec«tive memory 
statement) starting with' the elemen fp^fied L th m"^"^ D ™ , 

single dimension arravs thic ; B .i, a " Ctle LMD ° statement. For 

v . flira ; s i cms is the same order as aC r n^, , n» ~ j *- 

subscript, but for mnHi'-^ mn «e- " as ascending order of 

ix^c, uul ior muiti- dimension arravs thp A r H«r «* ~i ^ . . 
sort is COMPLEX and is given bv «,p , order of elements used in the 

multi-dimension arraj! fj " hLhlv reL 2 T " y °" *" g0in * ts > 60rt * 
array's first element (i V ' re = ommend that the sort start with the 

should have all^o sub" rlp '( £" VoT oTlf"" ^V' CMD "°" "'f"" 
If you use anything other than sero'subscrrpts L' £.\ r ^T^ "" y)) - 

multi-dimension arrsv v«n ,«,,*.♦- u -. UiL ox a 

actually participIteVrhe sort ""* CUV " t0 figU " ° Ut Which ele - nt ° 

The REN formulas given on pages 7-14 and 7-1 s »k u 

given element in the array! ^1 lowing are he f^ulL for^r' 6 ,^ 6 *? £ ° r * 
element subscripts corresponding to a e v n R N !T computing the 
value is zero). g 8 V6n REN Value Remember, the first REN 

V 1. For a single dimension array whose DIM statempnt- ,- fi n TM Af*i\ 

for array element A(X1): statement is DIMA(Rl) and 

XI - REN 

2. For a two dimension array whose DIM statement is DIM Afm *->\ a 

for array element A(X1,X2): «-*«-ement is uin A(KL ,R2) and 

REN/(R1+1) gives a quotient thai- ic Y9 q *a ~ • j 

s eut cnac 1S *^ a nd a remainder that is XI. 

]' ^ r a thre * dimension array whose DIM statement is DIM A(R1 R2 R^ 
and for array element A(X1,X2,X3): MKI,R2,R3) 

REN/((Rl+l)*(R2 + i)) gives a quotient that is X3 *nrf • * „ 
such that M2/rpi+M \- 4 ; cnat 1S XJ and remainder M2 

" tnat "^MRl+1; gives a quotient that ic y? «t,a • j 

that is XI. 4 l tnac 1S xz and a remainder 

For an n dimension arrav (whprp n i e ««♦- i i -l 

being divided by product of III che range (a ran* 'f^ inV ° 1VeS **" 
value given in the DIM statement) Lcenfthe n^h § • " *""" thaD the 
i. the nth subscript and a reminder 'It. 2T2 IT^'^ 
calculating n-1 th subscript as if the arrav had ™i„ , ^ Val " e f ° r 

Continue this loop until n is reduced to"! y "^ dlmen8l ° n8 - 



13-43 ZAPS (PATCHES)